{
  "$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:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
  "output_schema": {
    "properties": {
      "ability_to_pay_result": {
        "enum": [
          "INSUFFICIENT",
          "REQUIRES_COSIGNER_UNDER_21",
          "SUFFICIENT"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "annual_income": {
        "maximum": 60000,
        "minimum": 0,
        "type": "number",
        "x-observed-values": [
          0,
          60000
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "annual_minimum_payments_est": {
        "maximum": 1200,
        "minimum": 120,
        "type": "number",
        "x-observed-values": [
          120,
          240,
          1200
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "dti_ratio": {
        "maximum": 999,
        "minimum": 0.32,
        "type": "number",
        "x-observed-values": [
          0.32,
          999
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "dti_threshold": {
        "maximum": 0.45,
        "minimum": 0.45,
        "type": "number",
        "x-observed-values": [
          0.45
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "has_cosigner": {
        "enum": [
          false
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "income_and_assets": {
        "maximum": 70000,
        "minimum": 0,
        "type": "number",
        "x-observed-values": [
          0,
          70000
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "method_a_sufficient": {
        "enum": [
          false,
          true
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "method_b_sufficient": {
        "enum": [
          false,
          true
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "method_used": {
        "enum": [
          "income_assets"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "monthly_debt_obligations": {
        "maximum": 300,
        "minimum": 0,
        "type": "number",
        "x-observed-values": [
          0,
          300
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "monthly_housing_payment": {
        "maximum": 1200,
        "minimum": 0,
        "type": "number",
        "x-observed-values": [
          0,
          1200
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "monthly_income": {
        "maximum": 5000,
        "minimum": 0,
        "type": "number",
        "x-observed-values": [
          0,
          5000
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "monthly_minimum_payment_est": {
        "maximum": 100,
        "minimum": 10,
        "type": "number",
        "x-observed-values": [
          10,
          20,
          100
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "penalty_fee_safe_harbor": {
        "properties": {
          "first_violation": {
            "maximum": 32,
            "minimum": 32,
            "type": "number",
            "x-observed-values": [
              32
            ],
            "x-source": {
              "from": "conformance_fixtures",
              "generator": "scripts/gen-output-schema.mjs",
              "kind": "derived",
              "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
              "vectors": 3
            }
          },
          "rule_note": {
            "enum": [
              "CFPB $8 late-fee rule vacated Jan 2025; safe harbor reverts to 2024 CFPB CPI index values per 12 CFR §1026.52(b)(1)(ii)"
            ],
            "type": "string",
            "x-source": {
              "from": "conformance_fixtures",
              "generator": "scripts/gen-output-schema.mjs",
              "kind": "derived",
              "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
              "vectors": 3
            }
          },
          "subsequent_within_6_cycles": {
            "maximum": 43,
            "minimum": 43,
            "type": "number",
            "x-observed-values": [
              43
            ],
            "x-source": {
              "from": "conformance_fixtures",
              "generator": "scripts/gen-output-schema.mjs",
              "kind": "derived",
              "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
              "vectors": 3
            }
          },
          "table_version": {
            "enum": [
              "2024-01-01"
            ],
            "type": "string",
            "x-source": {
              "from": "conformance_fixtures",
              "generator": "scripts/gen-output-schema.mjs",
              "kind": "derived",
              "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
              "vectors": 3
            }
          }
        },
        "type": "object",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "pii_note": {
        "enum": [
          "All inputs are processed locally in your browser. No data is transmitted."
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "regulatory_basis": {
        "enum": [
          "15 USC §1665e (CARD Act §109); 12 CFR §1026.51 (ability to pay); 12 CFR §1026.51(a)(2) (under-21); 12 CFR §1026.52(b) (penalty fee safe harbor)"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "requested_credit_limit": {
        "maximum": 5000,
        "minimum": 500,
        "type": "number",
        "x-observed-values": [
          500,
          1000,
          5000
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "requires_cosigner": {
        "enum": [
          false,
          true
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "table_source": {
        "enum": [
          "CARD Act of 2009 Pub. L. 111-24 §109; 12 CFR §1026.51 (effective Aug 22 2010); 12 CFR §1026.52(b)(1)(ii)(A) $32 first-violation safe harbor (2024); 12 CFR §1026.52(b)(1)(ii)(B) $43 subsequent safe harbor (2024); CFPB CPI adjustment 2024-01-01"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "table_version": {
        "enum": [
          "CARD-ACT-REG-Z-1026-51-52-2024"
        ],
        "type": "string",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "total_assets": {
        "maximum": 10000,
        "minimum": 0,
        "type": "number",
        "x-observed-values": [
          0,
          10000
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "total_monthly_obligations": {
        "maximum": 1600,
        "minimum": 10,
        "type": "number",
        "x-observed-values": [
          10,
          20,
          1600
        ],
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      },
      "under_21_restriction": {
        "enum": [
          false,
          true
        ],
        "type": "boolean",
        "x-source": {
          "from": "conformance_fixtures",
          "generator": "scripts/gen-output-schema.mjs",
          "kind": "derived",
          "note": "derived from 3 fixtures @ sha256:d86f9301b3835cd8d80c1ed5bfa8cc607bbeb1876e91b2482c16eb64316db228",
          "vectors": 3
        }
      }
    },
    "type": "object"
  },
  "producer": "art-233-check-card-act-ability-to-pay",
  "x-derivation": {
    "from": "conformance_fixtures",
    "generator": "scripts/gen-output-schema.mjs",
    "vectors": 3
  }
}
