{
      "tool_id": "art-342-compute-escrow-analysis",
      "tool_version": "1.0.0",
      "display_name": "RESPA Aggregate Escrow Analysis",
      "mcp_name": "compute_escrow_analysis",
      "mandate_type": "compliance_mandate",
      "wave": 60,
      "gpu": false,
      "url": "https://ainumbers.co/chaingraph/art-342-compute-escrow-analysis.html",
      "description": "12 CFR 1024.17 (Reg X) aggregate escrow accounting method: builds a 12-month trial running balance from a starting balance, a monthly escrow deposit, and the projected annual disbursement schedule, compares the low point to the 1/6-of-annual-disbursements cushion target, and classifies the account as balanced, shortage, deficiency, or surplus with the corresponding spread/refund remedy. Not test_hpml_escrow (art-235), which tests whether an escrow account was required to be established in the first place.",
      "input_schema_ref": "chaingraph/art-342-compute-escrow-analysis.html#manifest",
      "consumes": [
        "art-235-test-hpml-escrow"
      ],
      "feeds": [],
      "status": "live",
      "conformance_fixtures": true,
      "compute_capability": "server",
      "compute_images": [{"system":"sha256-source","image_id":"sha256:e607aef8dedf929559f5a0daafd8a26ba54b900cd7d64c91ee96f5c88416aa9d","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-17"}],
      "export_capability": [
        "json"
      ],
      "compute_proof_ready": "ready",
      "compute_proof": {
        "type": "ZkVmReceipt",
        "system": "risc0",
        "receiptFormat": "groth16-bn254",
        "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
        "seal": "KMcILdhORk9JaRTz74LqQbD1aJd1//VTd5uXt2vahYYNiW8oFb6p0g4q/YZcZvieUAdONtk3iHOPbTOouzwV0QfTEgX9Qs50qFwP7dyRSVpIIG3Mx9sJIblGmO/25sSjKR0If/HU9CMonuD1jwAOW2vOJbWw1KF3Ldh5cfcAsCwBxN5niOvvOqRh1zIBg9BdGB8eB5me89x86urYJHA/qRkEjBFQbhamgOf8b6BdiYO+PiVCswPa3LE5ooPXvBYrCI+VaNp8kT3yFkC4iAIOCVjTJxdIUA43DrupvCln+fcuwIHQeibSsveM7rXHW2b9zFsjpO3WiovOq7tJ/tLRSA==",
        "journal": {
          "chaingraph_version": "0.4.0",
          "kernel_digest": "sha256:e607aef8dedf929559f5a0daafd8a26ba54b900cd7d64c91ee96f5c88416aa9d",
          "output": {
            "account_status": "balanced",
            "cushion_fraction_used": 0.16666666666666666,
            "cushion_target": 500,
            "deficiency_amount": 0,
            "low_point_balance": 500,
            "low_point_month": 6,
            "monthly_deficiency_spread_amount": 0,
            "monthly_escrow_payment": 250,
            "monthly_shortage_spread_amount": 0,
            "new_monthly_escrow_payment": 250,
            "note": "Deficiency = a negative trial balance at any point in the computation year. Shortage = the low point falls short of the cushion target without going negative. Surplus = the low point exceeds the cushion target. Pairs with test_hpml_escrow (art-235), which determines whether an escrow account was required to be established for a first-lien HPML in the first place (§1026.35(b)).",
            "regulatory_basis": "12 CFR 1024.17 (Reg X) aggregate escrow accounting method: (c)/(b) cushion cap (1/6 estimated total annual disbursements); (d) trial running balance; (f)(1) deficiency remedies (30-day demand or spread over at least 2 years); (f)(2) shortage remedies (spread over at least 12 months when the shortage equals or exceeds one month’s escrow payment) and mandatory refund of a surplus of $50 or more within 30 days.",
            "shortage_amount": 0,
            "shortage_spread_required": false,
            "spread_vs_target": 0,
            "starting_balance": 800,
            "surplus_amount": 0,
            "surplus_refund_required": false,
            "total_annual_disbursements": 3000,
            "trial_balances": [
              800,
              1050,
              1300,
              950,
              1200,
              1450,
              500,
              750,
              1000,
              1250,
              1500,
              1750,
              800
            ]
          }
        }
      }
    }
