{
  "tool_id": "art-218-qm-points-and-fees",
  "note": "golden_hash is empty until first golden-parity.test.mjs --update. Vector 1: pass (large loan, 3% tier). Vector 2: fail (small loan, 5% tier, fees exceed limit). Used as gate-branch driver in mortgage-compliance-preflight chain.",
  "vectors": [
    {
      "name": "qm_pass_large_loan",
      "description": "$450k loan, $12k fees, 2026. Tier: >= $137,958 = 3%. Limit $13,500. Headroom $1,500. Pass.",
      "policy_parameters": {
        "loan_amount": 450000,
        "points_and_fees": 12000,
        "year": 2026
      },
      "output_payload": {
        "pass": true,
        "points_and_fees": 12000,
        "loan_amount": 450000,
        "year": 2026,
        "tier_label": ">= $137,958: 3%",
        "limit_type": "pct",
        "limit_pct": 3,
        "limit_fixed": null,
        "limit": 13500,
        "headroom": 1500,
        "fr_citation": "FR 2025-22773 (effective Jan 1, 2026)",
        "effective_date": "2026-01-01",
        "regulatory_basis": "Reg Z §1026.43(e)(3)(ii), QM points-and-fees test",
        "note": "Thresholds are version-pinned. Run lookup_reg_z_thresholds for year-by-year table. Points-and-fees definition: §1026.32(b)(1). Confirm current thresholds at consumerfinance.gov/rules-policy/final-rules."
      },
      "compliance_flags": [],
      "golden_hash": "5be2647fc2f4b4152715c2d4856c9fc2bf3609d0b53e458eb8b127d35155d7fc"
    },
    {
      "name": "qm_fail_small_loan",
      "description": "$50k loan, $3k fees, 2026. Tier: $27,592-$82,774.99 = 5%. Limit $2,500. Fees exceed by $500. Fail.",
      "policy_parameters": {
        "loan_amount": 50000,
        "points_and_fees": 3000,
        "year": 2026
      },
      "output_payload": {
        "pass": false,
        "points_and_fees": 3000,
        "loan_amount": 50000,
        "year": 2026,
        "tier_label": "$27,592 - $82,774.99: 5%",
        "limit_type": "pct",
        "limit_pct": 5,
        "limit_fixed": null,
        "limit": 2500,
        "headroom": -500,
        "fr_citation": "FR 2025-22773 (effective Jan 1, 2026)",
        "effective_date": "2026-01-01",
        "regulatory_basis": "Reg Z §1026.43(e)(3)(ii), QM points-and-fees test",
        "note": "Thresholds are version-pinned. Run lookup_reg_z_thresholds for year-by-year table. Points-and-fees definition: §1026.32(b)(1). Confirm current thresholds at consumerfinance.gov/rules-policy/final-rules."
      },
      "compliance_flags": [
        "QM_POINTS_AND_FEES_EXCEEDED"
      ],
      "golden_hash": "899fab0eee1373447054c46791982a6db2005e72af1b77500abfce9fdffc553d"
    }
  ]
}
