OpenChainGraph Suite · OCG v0.8.0 · US Mortgage Compliance · Cluster ㉑

Mortgage Compliance Preflight

Gated four-step mortgage compliance preflight. Fetches version-pinned Reg Z thresholds, verifies TRID APR accuracy (exits immediately on understatement violation), checks QM points-and-fees (exits on failure), then classifies QM APR-APOR spread. The first live OpenChainGraph chain to use §21.4 decision gates — early exit prevents unnecessary downstream calls when a blocking violation is detected.

OpenChainGraph · 4 Steps compliance mandate · §21.4 Gates Hash-Anchored §4 chain_depth:4 Client-Side · Zero PII
Not legal or compliance advice. Outputs are computed from version-pinned tables and your inputs only. Consult qualified counsel before relying on any result for loan production decisions.
⚡ §21.4 Decision Gates active: Step 2 exits chain on understated_violation; Step 3 exits on pass=false. Skipped steps appear as skipped_by_gate in the run artifact.
Chain Topology (§21.4 gated) — Threshold Lookup → APR Accuracy [GATE] → QM Fees [GATE] → Spread Classifier
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 4 Steps · 2 Decision Gates (§21.4)
1 ROOT node
Reg Z Threshold Lookup art-220-reg-z-threshold-lookup
Version-pinned threshold tables feed downstream QM and TRID nodes
MCP Call · lookup_reg_z_thresholds
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "lookup_reg_z_thresholds",
    "arguments": {
      "table": "qm_points_fees",
      "year": 2026
    }
  },
  "id": 1
}
2 GATE node §21.4 gate
TRID APR Accuracy Verifier art-217-trid-apr-accuracy
APR accuracy verdict — gate exits chain on understated_violation
△ Gate: if /verdict == "understated_violation" → END  |  else → Step 3
MCP Call · verify_trid_apr_accuracy
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "verify_trid_apr_accuracy",
    "arguments": {
      "disclosed_apr_pct": 6.875,
      "actual_apr_pct": 6.82
    }
  },
  "id": 2
}
3 GATE node §21.4 gate
QM Points and Fees Test art-218-qm-points-and-fees
QM points-and-fees pass/fail — gate exits chain on fail
△ Gate: if /pass == false → END  |  else → Step 4
MCP Call · check_qm_points_and_fees
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "check_qm_points_and_fees",
    "arguments": {
      "loan_amount": 450000,
      "total_points_and_fees": 12000,
      "table_year": 2026
    }
  },
  "id": 3
}
4 TERMINAL node
QM APR-APOR Spread Classifier art-219-qm-apr-apor-spread
QM APR-APOR spread classification — final stage (only reached if gates 2 and 3 pass)
MCP Call · classify_qm_apr_apor_spread
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "classify_qm_apr_apor_spread",
    "arguments": {
      "apr_pct": 6.875,
      "apor_pct": 5.0,
      "lien_type": "first",
      "loan_type": "fixed",
      "qm_fees_passed": true
    }
  },
  "id": 4
}
Export Chain Artifact
Download the §4 chain definition artifact (hash-anchored JSON). The artifact encodes the complete chain definition including gate rules. Available after hash computation.