{
  "decision_id": "dec-f85bfc88c2c0",
  "decision": {
    "decision_id": "dec-f85bfc88c2c0",
    "agent_id": "loan-servicing-demo",
    "agent_type": "LOAN_SERVICING",
    "action": "LOAN_SERVICING_ACTION",
    "parameters": {
      "loan_id": "L-88120",
      "days_delinquent": 200,
      "foreclosure_referral": true,
      "complete_loss_mit_application_pending": true,
      "days_since_loss_mit_received": 2,
      "days_since_complete_application": 11,
      "payment_credit_delay_days": 0,
      "force_placed_insurance_charge": false,
      "days_since_fpi_notice": 90,
      "investor": "FNMA"
    },
    "context": null,
    "verdict": "BLOCK",
    "mode": "ENFORCE",
    "computed_verdict": "BLOCK",
    "applied_verdict": "BLOCK",
    "rules_evaluated": 6,
    "rules_triggered": 1,
    "latency_ms": 0.176,
    "details": {
      "passed_rules": [
        "loan-servicing-demo-servicing_force_placed_notice",
        "loan-servicing-demo-servicing_loss_mit_acknowledgement",
        "loan-servicing-demo-servicing_loss_mit_evaluation",
        "loan-servicing-demo-servicing_prompt_crediting",
        "loan-servicing-demo-servicing_120_day_preforeclosure"
      ],
      "failed_rules": [
        "loan-servicing-demo-servicing_dual_tracking"
      ],
      "warnings": [],
      "rule_evaluations": [
        {
          "rule_id": "loan-servicing-demo-servicing_force_placed_notice",
          "rule_name": "45 Days Notice Before Force-Placed Insurance Charge",
          "result": "PASS",
          "verdict": null,
          "message": null,
          "latency_ms": 0.031
        },
        {
          "rule_id": "loan-servicing-demo-servicing_loss_mit_acknowledgement",
          "rule_name": "Loss Mitigation Acknowledged Within 5 Business Days",
          "result": "PASS",
          "verdict": null,
          "message": null,
          "latency_ms": 0.002
        },
        {
          "rule_id": "loan-servicing-demo-servicing_loss_mit_evaluation",
          "rule_name": "Complete Loss Mit Application Evaluated Within 30 Days",
          "result": "PASS",
          "verdict": null,
          "message": null,
          "latency_ms": 0.001
        },
        {
          "rule_id": "loan-servicing-demo-servicing_prompt_crediting",
          "rule_name": "Conforming Payment Credited Same Day",
          "result": "PASS",
          "verdict": null,
          "message": null,
          "latency_ms": 0.0
        },
        {
          "rule_id": "loan-servicing-demo-servicing_dual_tracking",
          "rule_name": "No Foreclosure Referral While Loss Mit Pending",
          "result": "FAIL",
          "verdict": "BLOCK",
          "message": "Dual tracking: Reg X 12 CFR 1024.41(f)(2) prohibits making the first notice or filing for foreclosure while a complete loss mitigation application is pending. The application must be evaluated and any appeal resolved first.",
          "latency_ms": 0.011
        },
        {
          "rule_id": "loan-servicing-demo-servicing_120_day_preforeclosure",
          "rule_name": "120 Days Delinquent Before First Foreclosure Notice",
          "result": "PASS",
          "verdict": null,
          "message": null,
          "latency_ms": 0.011
        }
      ]
    },
    "event_type": "decision_evaluated",
    "actor": "system",
    "source": "decision_pipeline",
    "proof_of_agent": {
      "scheme": "sentinel-poa-v2",
      "registry_binding": "58b0f48957c0267d21d65111872d82ab9793d606432890b2da238a7ab57efce5",
      "evaluation_binding": "26b1bfcd7078c6e011ada156c030b484d1fef8c57a9d54626b3204c7da0af602",
      "combined_digest": "d00cc10a4a1e51137927743c5fab24fda109be620018773c9575d8d3616a61b0",
      "poa_proof_id": "poap-a75528cc1d8b0b2c",
      "instance_attestation": null,
      "registry_canonical": "loan-servicing-demo|LOAN_SERVICING|1.0.0|loan-servicing-demo-servicing_120_day_preforeclosure,loan-servicing-demo-servicing_dual_tracking,loan-servicing-demo-servicing_force_placed_notice,loan-servicing-demo-servicing_loss_mit_acknowledgement,loan-servicing-demo-servicing_loss_mit_evaluation,loan-servicing-demo-servicing_prompt_crediting",
      "evaluation_canonical": "dec-f85bfc88c2c0|loan-servicing-demo|BLOCK|BLOCK|ENFORCE|6|1|loan-servicing-demo-servicing_120_day_preforeclosure,loan-servicing-demo-servicing_force_placed_notice,loan-servicing-demo-servicing_loss_mit_acknowledgement,loan-servicing-demo-servicing_loss_mit_evaluation,loan-servicing-demo-servicing_prompt_crediting|loan-servicing-demo-servicing_dual_tracking"
    },
    "audit_id": "aud-e08256f20da7",
    "timestamp": "2026-07-28T17:22:11.230664+00:00",
    "event_id": "evt-af937eccce67",
    "payload_hash": "77dd6ea1e48e11a894a18f7e7c1335c0029fe469f787a8cc9c8f0264f36b239a",
    "previous_hash": "4d0b85ce1b2d43ffe800e6a6dad7344b5a9a2c8212aa7bcfaff83a4110e24135",
    "chain_hash": "f4162048baea81c5ee34733888f32e625a2925b4f0ee4495a9195bd6df436216"
  },
  "events": [
    {
      "event_id": "evt-af937eccce67",
      "event_type": "decision_evaluated",
      "payload": {
        "decision_id": "dec-f85bfc88c2c0",
        "agent_id": "loan-servicing-demo",
        "agent_type": "LOAN_SERVICING",
        "action": "LOAN_SERVICING_ACTION",
        "parameters": {
          "loan_id": "L-88120",
          "days_delinquent": 200,
          "foreclosure_referral": true,
          "complete_loss_mit_application_pending": true,
          "days_since_loss_mit_received": 2,
          "days_since_complete_application": 11,
          "payment_credit_delay_days": 0,
          "force_placed_insurance_charge": false,
          "days_since_fpi_notice": 90,
          "investor": "FNMA"
        },
        "context": null,
        "verdict": "BLOCK",
        "mode": "ENFORCE",
        "computed_verdict": "BLOCK",
        "applied_verdict": "BLOCK",
        "rules_evaluated": 6,
        "rules_triggered": 1,
        "latency_ms": 0.176,
        "details": {
          "passed_rules": [
            "loan-servicing-demo-servicing_force_placed_notice",
            "loan-servicing-demo-servicing_loss_mit_acknowledgement",
            "loan-servicing-demo-servicing_loss_mit_evaluation",
            "loan-servicing-demo-servicing_prompt_crediting",
            "loan-servicing-demo-servicing_120_day_preforeclosure"
          ],
          "failed_rules": [
            "loan-servicing-demo-servicing_dual_tracking"
          ],
          "warnings": [],
          "rule_evaluations": [
            {
              "rule_id": "loan-servicing-demo-servicing_force_placed_notice",
              "rule_name": "45 Days Notice Before Force-Placed Insurance Charge",
              "result": "PASS",
              "verdict": null,
              "message": null,
              "latency_ms": 0.031
            },
            {
              "rule_id": "loan-servicing-demo-servicing_loss_mit_acknowledgement",
              "rule_name": "Loss Mitigation Acknowledged Within 5 Business Days",
              "result": "PASS",
              "verdict": null,
              "message": null,
              "latency_ms": 0.002
            },
            {
              "rule_id": "loan-servicing-demo-servicing_loss_mit_evaluation",
              "rule_name": "Complete Loss Mit Application Evaluated Within 30 Days",
              "result": "PASS",
              "verdict": null,
              "message": null,
              "latency_ms": 0.001
            },
            {
              "rule_id": "loan-servicing-demo-servicing_prompt_crediting",
              "rule_name": "Conforming Payment Credited Same Day",
              "result": "PASS",
              "verdict": null,
              "message": null,
              "latency_ms": 0.0
            },
            {
              "rule_id": "loan-servicing-demo-servicing_dual_tracking",
              "rule_name": "No Foreclosure Referral While Loss Mit Pending",
              "result": "FAIL",
              "verdict": "BLOCK",
              "message": "Dual tracking: Reg X 12 CFR 1024.41(f)(2) prohibits making the first notice or filing for foreclosure while a complete loss mitigation application is pending. The application must be evaluated and any appeal resolved first.",
              "latency_ms": 0.011
            },
            {
              "rule_id": "loan-servicing-demo-servicing_120_day_preforeclosure",
              "rule_name": "120 Days Delinquent Before First Foreclosure Notice",
              "result": "PASS",
              "verdict": null,
              "message": null,
              "latency_ms": 0.011
            }
          ]
        },
        "event_type": "decision_evaluated",
        "actor": "system",
        "source": "decision_pipeline",
        "proof_of_agent": {
          "scheme": "sentinel-poa-v2",
          "registry_binding": "58b0f48957c0267d21d65111872d82ab9793d606432890b2da238a7ab57efce5",
          "evaluation_binding": "26b1bfcd7078c6e011ada156c030b484d1fef8c57a9d54626b3204c7da0af602",
          "combined_digest": "d00cc10a4a1e51137927743c5fab24fda109be620018773c9575d8d3616a61b0",
          "poa_proof_id": "poap-a75528cc1d8b0b2c",
          "instance_attestation": null,
          "registry_canonical": "loan-servicing-demo|LOAN_SERVICING|1.0.0|loan-servicing-demo-servicing_120_day_preforeclosure,loan-servicing-demo-servicing_dual_tracking,loan-servicing-demo-servicing_force_placed_notice,loan-servicing-demo-servicing_loss_mit_acknowledgement,loan-servicing-demo-servicing_loss_mit_evaluation,loan-servicing-demo-servicing_prompt_crediting",
          "evaluation_canonical": "dec-f85bfc88c2c0|loan-servicing-demo|BLOCK|BLOCK|ENFORCE|6|1|loan-servicing-demo-servicing_120_day_preforeclosure,loan-servicing-demo-servicing_force_placed_notice,loan-servicing-demo-servicing_loss_mit_acknowledgement,loan-servicing-demo-servicing_loss_mit_evaluation,loan-servicing-demo-servicing_prompt_crediting|loan-servicing-demo-servicing_dual_tracking"
        },
        "audit_id": "aud-e08256f20da7",
        "timestamp": "2026-07-28T17:22:11.230664+00:00"
      },
      "payload_hash": "77dd6ea1e48e11a894a18f7e7c1335c0029fe469f787a8cc9c8f0264f36b239a",
      "previous_hash": "4d0b85ce1b2d43ffe800e6a6dad7344b5a9a2c8212aa7bcfaff83a4110e24135",
      "chain_hash": "f4162048baea81c5ee34733888f32e625a2925b4f0ee4495a9195bd6df436216",
      "actor": "system",
      "source": "decision_pipeline",
      "decision_id": "dec-f85bfc88c2c0",
      "created_at": "2026-07-28T17:22:11.230670+00:00",
      "signature": null
    }
  ],
  "chain_verification": {
    "valid": true,
    "mode": "segment",
    "events_checked": 1,
    "broken_at": null,
    "contiguous": true,
    "anchor_previous_hash": "4d0b85ce1b2d43ffe800e6a6dad7344b5a9a2c8212aa7bcfaff83a4110e24135",
    "head_chain_hash": "f4162048baea81c5ee34733888f32e625a2925b4f0ee4495a9195bd6df436216",
    "not_verified": [
      "Linkage to genesis: this is a segment, so it cannot prove it belongs to the full chain. Check anchor_previous_hash against the complete log to establish that."
    ],
    "details": [
      {
        "event_id": "evt-af937eccce67",
        "payload_valid": true,
        "chain_valid": true,
        "valid": true,
        "expected_payload_hash": "77dd6ea1e48e11a894a18f7e7c1335c0029fe469f787a8cc9c8f0264f36b239a",
        "actual_payload_hash": "77dd6ea1e48e11a894a18f7e7c1335c0029fe469f787a8cc9c8f0264f36b239a",
        "expected_chain_hash": "f4162048baea81c5ee34733888f32e625a2925b4f0ee4495a9195bd6df436216",
        "actual_chain_hash": "f4162048baea81c5ee34733888f32e625a2925b4f0ee4495a9195bd6df436216",
        "previous_link_valid": true
      }
    ]
  },
  "exported_at": "2026-07-28T17:22:11.231752+00:00",
  "storage_class": "tamper_evident_append_only"
}
