{
  "tool_id": "art-219-qm-apr-apor-spread",
  "kernel_id": "art-219-qm-apr-apor-spread",
  "display_name": "QM APR-APOR Spread Classifier",
  "tool_version": "1.0.0",
  "mandate_type": "compliance_mandate",
  "purpose": "QM APR-APOR spread test per Reg Z §1026.43(e)(2)(vi) and §1026.43(b)(4). Classifies a loan as general_qm_safe_harbor, general_qm_rebuttable_presumption, or general_qm_fail based on spread versus APOR and HPCT threshold. Size-adjusted thresholds for first-lien standard (2.25 pp), small loan (3.5 pp), manufactured housing (6.5 pp), and subordinate lien (3.5 pp). Caller must supply APOR from the FFIEC weekly rate spread table.",
  "control_description": "QM APR-APOR spread test per Reg Z §1026.43(e)(2)(vi) and §1026.43(b)(4). Classifies a loan as general_qm_safe_harbor, general_qm_rebuttable_presumption, or general_qm_fail based on spread versus APOR and HPCT threshold. Size-adjusted thresholds for first-lien standard (2.25 pp), small loan (3.5 pp), manufactured housing (6.5 pp), and subordinate lien (3.5 pp). Caller must supply APOR from the FFIEC weekly rate spread table.",
  "declared_inputs": [
    "art-218-qm-points-and-fees"
  ],
  "declared_outputs": [],
  "kernel_digest": "sha256:9a3c7fb7f2a17cb3b8ba3e352f32b1d77d7d51093e23fa65165e7d3d594b106b",
  "trust_label": "independently verified -- zkVM execution proof (risc0/groth16-bn254)",
  "data_vintage": "2026-07-10",
  "last_validated": "2026-07-10",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "ready",
  "wave": 37,
  "source_url": "https://ainumbers.co/chaingraph/art-219-qm-apr-apor-spread.html",
  "generated_at": "2026-07-25T20:02:55.601Z"
}
