{
  "$comment": "DERIVED OUTPUT-CONTRACT SIDECAR — a WITNESS domain from fixtures, never a declaration. May decide L2G-pass; may NEVER produce a dead-branch L2G-fail. Generated by scripts/gen-output-schema.mjs (CHAIN-FV-L2-G-RESCOPE-3). ⛔ Do not hand-edit — run the generator.",
  "kernel_digest": "sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
  "output_schema": {
    "properties": {
      "abs_difference_pct": {
        "maximum": 0.15,
        "minimum": 0.055,
        "type": "number",
        "x-observed-values": [
          0.055,
          0.15
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "actual_apr_pct": {
        "maximum": 6.9,
        "minimum": 6.82,
        "type": "number",
        "x-observed-values": [
          6.82,
          6.9
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "difference_pct": {
        "maximum": 0.055,
        "minimum": -0.15,
        "type": "number",
        "x-observed-values": [
          -0.15,
          0.055
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "disclosed_apr_pct": {
        "maximum": 6.875,
        "minimum": 6.75,
        "type": "number",
        "x-observed-values": [
          6.75,
          6.875
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "headroom_pct": {
        "maximum": 0.07,
        "minimum": -0.025,
        "type": "number",
        "x-observed-values": [
          -0.025,
          0.07
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "irregularity_reasons": {
        "type": "array",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "is_irregular_transaction": {
        "enum": [
          false
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "note": {
        "enum": [
          "1/8 pp tolerance for regular transactions; 1/4 pp for irregular (multiple advances, irregular periods, or irregular amounts). Overstatement within tolerance is not a TILA violation; understatement is."
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "regulatory_basis": {
        "enum": [
          "Reg Z §1026.22(a), 12 CFR 1026.22 APR accuracy tolerance"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "tolerance_pct": {
        "maximum": 0.125,
        "minimum": 0.125,
        "type": "number",
        "x-observed-values": [
          0.125
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "verdict": {
        "enum": [
          "accurate_overstated_ok",
          "understated_violation"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      },
      "within_tolerance": {
        "enum": [
          false,
          true
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 2 fixtures @ sha256:a74ebe7cdb837e03a939cbe160d49a4f412192f9c98d5d928c8daddda570f8fd",
          "vectors": 2
        }
      }
    },
    "type": "object"
  },
  "producer": "art-217-trid-apr-accuracy",
  "x-derivation": {
    "from": "conformance_fixtures",
    "generator": "scripts/gen-output-schema.mjs",
    "vectors": 2
  }
}
