{
  "process_id": "FA-10",
  "policy_version": "synthetic-v1",
  "event_id": "fa-10-example-v1",
  "input": {
    "entity": "LENDER-1",
    "currency": "USD",
    "cutoff": "2026-10-31T23:59:59Z",
    "window_start": "2026-10-01T00:00:00Z",
    "applicable": true,
    "servicing_events": [
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "event_id": "S1",
        "loan_id": "L1",
        "effective_date": "2026-10-30",
        "received_cents": 200000,
        "principal_cents": 50000,
        "interest_cents": 100000,
        "escrow_cents": 40000,
        "suspense_cents": 10000,
        "advance_cents": 5000
      },
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "event_id": "S2",
        "loan_id": "L2",
        "effective_date": "2026-10-31",
        "received_cents": 150000,
        "principal_cents": 30000,
        "interest_cents": 80000,
        "escrow_cents": 30000,
        "suspense_cents": 10000,
        "advance_cents": 0
      }
    ],
    "control_balances": [
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "component": "principal_interest",
        "account_id": "PI-1",
        "account_type": "PI",
        "ownership_type": "custodial",
        "closing_cents": 260000
      },
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "component": "escrow",
        "account_id": "TI-1",
        "account_type": "TI",
        "ownership_type": "custodial",
        "closing_cents": 70000
      },
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "component": "suspense",
        "account_id": "SUSP-1",
        "account_type": "SUSPENSE",
        "ownership_type": "custodial",
        "closing_cents": 20000
      },
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "component": "advance_receivable",
        "account_id": "ADV-GL",
        "account_type": "ADVANCE_RECEIVABLE",
        "ownership_type": "loan_receivable",
        "closing_cents": 5000
      }
    ],
    "transfer_rows": [
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "loan_id": "L1",
        "transfer_version": "X1",
        "acknowledged_version": "X1",
        "principal_cents": 50000,
        "interest_cents": 100000,
        "escrow_cents": 40000,
        "suspense_cents": 10000,
        "advance_cents": 5000,
        "open_item_cents": 0
      },
      {
        "entity": "LENDER-1",
        "currency": "USD",
        "known_at": "2026-10-31T23:59:59Z",
        "loan_id": "L2",
        "transfer_version": "X1",
        "acknowledged_version": "X1",
        "principal_cents": 30000,
        "interest_cents": 80000,
        "escrow_cents": 30000,
        "suspense_cents": 10000,
        "advance_cents": 0,
        "open_item_cents": 0
      }
    ],
    "manifest": {
      "servicing_events": {
        "as_of": "2026-10-31T23:59:59Z",
        "known_at": "2026-10-31T23:59:59Z",
        "expected_records": 2,
        "received_records": 2,
        "complete": true
      },
      "control_balances": {
        "as_of": "2026-10-31T23:59:59Z",
        "known_at": "2026-10-31T23:59:59Z",
        "expected_records": 4,
        "received_records": 4,
        "complete": true
      },
      "transfer_rows": {
        "as_of": "2026-10-31T23:59:59Z",
        "known_at": "2026-10-31T23:59:59Z",
        "expected_records": 2,
        "received_records": 2,
        "complete": true
      }
    }
  },
  "expected": {
    "status": "ready_for_review",
    "eligible_servicing_events": 2,
    "received_cents": 350000,
    "component_totals_cents": {
      "principal_cents": 80000,
      "interest_cents": 180000,
      "escrow_cents": 70000,
      "suspense_cents": 20000,
      "advance_cents": 5000
    },
    "cash_actions": 0,
    "errors": []
  },
  "changes": [
    {
      "name": "Branch disabled for a lender that performs no interim servicing",
      "path": [
        "applicable"
      ],
      "value": false,
      "expected": {
        "status": "not_applicable",
        "eligible_servicing_events": 0,
        "cash_actions": 0
      }
    },
    {
      "name": "Payment components do not sum to received cash",
      "path": [
        "servicing_events",
        0,
        "escrow_cents"
      ],
      "value": 40001,
      "expected": {
        "status": "hold",
        "eligible_servicing_events": 2,
        "received_cents": 350000,
        "component_totals_cents": {
          "principal_cents": 80000,
          "interest_cents": 180000,
          "escrow_cents": 70001,
          "suspense_cents": 20000,
          "advance_cents": 5000
        },
        "cash_actions": 0,
        "errors": [
          "S1:payment_component_sum",
          "escrow:control_balance_difference",
          "L1:transfer_component_difference:escrow_cents"
        ]
      }
    },
    {
      "name": "Escrow cannot be relabeled corporate cash",
      "path": [
        "control_balances",
        1,
        "ownership_type"
      ],
      "value": "corporate",
      "expected": {
        "status": "hold",
        "eligible_servicing_events": 2,
        "received_cents": 350000,
        "component_totals_cents": {
          "principal_cents": 80000,
          "interest_cents": 180000,
          "escrow_cents": 70000,
          "suspense_cents": 20000,
          "advance_cents": 5000
        },
        "cash_actions": 0,
        "errors": [
          "escrow:wrong_ownership_type"
        ]
      }
    },
    {
      "name": "Wrong P&I versus T&I account type holds",
      "path": [
        "control_balances",
        1,
        "account_type"
      ],
      "value": "PI",
      "expected": {
        "status": "hold",
        "eligible_servicing_events": 2,
        "received_cents": 350000,
        "component_totals_cents": {
          "principal_cents": 80000,
          "interest_cents": 180000,
          "escrow_cents": 70000,
          "suspense_cents": 20000,
          "advance_cents": 5000
        },
        "cash_actions": 0,
        "errors": [
          "escrow:wrong_account_type"
        ]
      }
    },
    {
      "name": "Open transfer item remains on the schedule",
      "path": [
        "transfer_rows",
        0,
        "open_item_cents"
      ],
      "value": 10000,
      "expected": {
        "status": "hold",
        "eligible_servicing_events": 2,
        "received_cents": 350000,
        "component_totals_cents": {
          "principal_cents": 80000,
          "interest_cents": 180000,
          "escrow_cents": 70000,
          "suspense_cents": 20000,
          "advance_cents": 5000
        },
        "cash_actions": 0,
        "errors": [
          "L1:open_transfer_item"
        ]
      }
    },
    {
      "name": "Acknowledgment for old transfer version is insufficient",
      "path": [
        "transfer_rows",
        0,
        "acknowledged_version"
      ],
      "value": "X0",
      "expected": {
        "status": "hold",
        "eligible_servicing_events": 2,
        "received_cents": 350000,
        "component_totals_cents": {
          "principal_cents": 80000,
          "interest_cents": 180000,
          "escrow_cents": 70000,
          "suspense_cents": 20000,
          "advance_cents": 5000
        },
        "cash_actions": 0,
        "errors": [
          "L1:unacknowledged_transfer_version"
        ]
      }
    },
    {
      "name": "Duplicate servicing event cannot count twice",
      "replace_input": {
        "entity": "LENDER-1",
        "currency": "USD",
        "cutoff": "2026-10-31T23:59:59Z",
        "window_start": "2026-10-01T00:00:00Z",
        "applicable": true,
        "servicing_events": [
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "event_id": "S1",
            "loan_id": "L1",
            "effective_date": "2026-10-30",
            "received_cents": 200000,
            "principal_cents": 50000,
            "interest_cents": 100000,
            "escrow_cents": 40000,
            "suspense_cents": 10000,
            "advance_cents": 5000
          },
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "event_id": "S2",
            "loan_id": "L2",
            "effective_date": "2026-10-31",
            "received_cents": 150000,
            "principal_cents": 30000,
            "interest_cents": 80000,
            "escrow_cents": 30000,
            "suspense_cents": 10000,
            "advance_cents": 0
          },
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "event_id": "S1",
            "loan_id": "L1",
            "effective_date": "2026-10-30",
            "received_cents": 200000,
            "principal_cents": 50000,
            "interest_cents": 100000,
            "escrow_cents": 40000,
            "suspense_cents": 10000,
            "advance_cents": 5000
          }
        ],
        "control_balances": [
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "component": "principal_interest",
            "account_id": "PI-1",
            "account_type": "PI",
            "ownership_type": "custodial",
            "closing_cents": 260000
          },
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "component": "escrow",
            "account_id": "TI-1",
            "account_type": "TI",
            "ownership_type": "custodial",
            "closing_cents": 70000
          },
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "component": "suspense",
            "account_id": "SUSP-1",
            "account_type": "SUSPENSE",
            "ownership_type": "custodial",
            "closing_cents": 20000
          },
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "component": "advance_receivable",
            "account_id": "ADV-GL",
            "account_type": "ADVANCE_RECEIVABLE",
            "ownership_type": "loan_receivable",
            "closing_cents": 5000
          }
        ],
        "transfer_rows": [
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "loan_id": "L1",
            "transfer_version": "X1",
            "acknowledged_version": "X1",
            "principal_cents": 50000,
            "interest_cents": 100000,
            "escrow_cents": 40000,
            "suspense_cents": 10000,
            "advance_cents": 5000,
            "open_item_cents": 0
          },
          {
            "entity": "LENDER-1",
            "currency": "USD",
            "known_at": "2026-10-31T23:59:59Z",
            "loan_id": "L2",
            "transfer_version": "X1",
            "acknowledged_version": "X1",
            "principal_cents": 30000,
            "interest_cents": 80000,
            "escrow_cents": 30000,
            "suspense_cents": 10000,
            "advance_cents": 0,
            "open_item_cents": 0
          }
        ],
        "manifest": {
          "servicing_events": {
            "as_of": "2026-10-31T23:59:59Z",
            "known_at": "2026-10-31T23:59:59Z",
            "expected_records": 3,
            "received_records": 3,
            "complete": true
          },
          "control_balances": {
            "as_of": "2026-10-31T23:59:59Z",
            "known_at": "2026-10-31T23:59:59Z",
            "expected_records": 4,
            "received_records": 4,
            "complete": true
          },
          "transfer_rows": {
            "as_of": "2026-10-31T23:59:59Z",
            "known_at": "2026-10-31T23:59:59Z",
            "expected_records": 2,
            "received_records": 2,
            "complete": true
          }
        }
      },
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:event_id:duplicate_identifier"
        ]
      }
    },
    {
      "name": "Missing source page is an incomplete population",
      "path": [
        "manifest",
        "servicing_events",
        "received_records"
      ],
      "value": 0,
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:servicing_events:incomplete_population"
        ]
      }
    },
    {
      "name": "Malformed source timestamp holds",
      "path": [
        "manifest",
        "servicing_events",
        "known_at"
      ],
      "value": "2026-13-32T00:00:00Z",
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:servicing_events.known_at:invalid_utc_timestamp"
        ]
      }
    },
    {
      "name": "Old source as-of cannot satisfy the declared exact cutoff",
      "path": [
        "manifest",
        "servicing_events",
        "as_of"
      ],
      "value": "2026-10-01T00:00:00Z",
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:servicing_events:invalid_source_cutoff"
        ]
      }
    }
  ]
}
