{
  "process_id": "TR-03",
  "policy_version": "synthetic-v1",
  "event_id": "tr-03-example-v1",
  "input": {
    "cutoff": "2026-11-09T08:00:00Z",
    "entity_id": "LENDER",
    "currency": "USD",
    "contract_version": "illustrative-2026-11-v1",
    "sources": [
      {
        "source_id": "closing_schedule",
        "as_of": "2026-11-09T08:00:00Z",
        "received_at": "2026-11-09T08:00:00Z",
        "complete": true,
        "revision": "v1"
      },
      {
        "source_id": "secondary_forecast",
        "as_of": "2026-11-09T08:00:00Z",
        "received_at": "2026-11-09T08:00:00Z",
        "complete": true,
        "revision": "v1"
      }
    ],
    "loans": [
      {
        "loan_id": "L1",
        "revision": 1,
        "status": "confirmed",
        "principal_cents": 30000000,
        "advance_rate_bps": 9500,
        "funding_probability_bps": 10000,
        "value_date": "2026-11-09",
        "known_at": "2026-11-09T08:00:00Z"
      },
      {
        "loan_id": "L2",
        "revision": 1,
        "status": "expected",
        "principal_cents": 20000000,
        "advance_rate_bps": 9000,
        "funding_probability_bps": 7500,
        "value_date": "2026-11-10",
        "known_at": "2026-11-09T08:00:00Z"
      }
    ],
    "expected_loan_ids": [
      "L1",
      "L2"
    ]
  },
  "expected": {
    "status": "demand_forecast_for_review",
    "by_value_date": {
      "2026-11-09": {
        "scheduled_principal_cents": 30000000,
        "scheduled_advance_cents": 28500000,
        "scheduled_equity_cents": 1500000,
        "confirmed_principal_cents": 30000000,
        "weighted_principal_cents": 30000000,
        "weighted_advance_cents": 28500000,
        "weighted_equity_cents": 1500000
      },
      "2026-11-10": {
        "scheduled_principal_cents": 20000000,
        "scheduled_advance_cents": 18000000,
        "scheduled_equity_cents": 2000000,
        "confirmed_principal_cents": 0,
        "weighted_principal_cents": 15000000,
        "weighted_advance_cents": 13500000,
        "weighted_equity_cents": 1500000
      }
    },
    "unique_loan_count": 2,
    "duplicate_rows": 0,
    "funding_instructions_created": 0
  },
  "changes": [
    {
      "name": "Probability is not an instruction",
      "path": [
        "loans",
        1,
        "funding_probability_bps"
      ],
      "value": 2500,
      "expected": {
        "status": "demand_forecast_for_review",
        "by_value_date": {
          "2026-11-09": {
            "scheduled_principal_cents": 30000000,
            "scheduled_advance_cents": 28500000,
            "scheduled_equity_cents": 1500000,
            "confirmed_principal_cents": 30000000,
            "weighted_principal_cents": 30000000,
            "weighted_advance_cents": 28500000,
            "weighted_equity_cents": 1500000
          },
          "2026-11-10": {
            "scheduled_principal_cents": 20000000,
            "scheduled_advance_cents": 18000000,
            "scheduled_equity_cents": 2000000,
            "confirmed_principal_cents": 0,
            "weighted_principal_cents": 5000000,
            "weighted_advance_cents": 4500000,
            "weighted_equity_cents": 500000
          }
        },
        "unique_loan_count": 2,
        "duplicate_rows": 0,
        "funding_instructions_created": 0
      }
    },
    {
      "name": "Duplicate source version",
      "append_path": [
        "loans"
      ],
      "append_value": {
        "loan_id": "L1",
        "revision": 1,
        "status": "confirmed",
        "principal_cents": 30000000,
        "advance_rate_bps": 9500,
        "funding_probability_bps": 10000,
        "value_date": "2026-11-09",
        "known_at": "2026-11-09T08:00:00Z"
      },
      "expected": {
        "status": "demand_forecast_for_review",
        "by_value_date": {
          "2026-11-09": {
            "scheduled_principal_cents": 30000000,
            "scheduled_advance_cents": 28500000,
            "scheduled_equity_cents": 1500000,
            "confirmed_principal_cents": 30000000,
            "weighted_principal_cents": 30000000,
            "weighted_advance_cents": 28500000,
            "weighted_equity_cents": 1500000
          },
          "2026-11-10": {
            "scheduled_principal_cents": 20000000,
            "scheduled_advance_cents": 18000000,
            "scheduled_equity_cents": 2000000,
            "confirmed_principal_cents": 0,
            "weighted_principal_cents": 15000000,
            "weighted_advance_cents": 13500000,
            "weighted_equity_cents": 1500000
          }
        },
        "unique_loan_count": 2,
        "duplicate_rows": 1,
        "funding_instructions_created": 0
      }
    },
    {
      "name": "Date correction supersedes earlier version",
      "append_path": [
        "loans"
      ],
      "append_value": {
        "loan_id": "L2",
        "revision": 2,
        "status": "expected",
        "principal_cents": 20000000,
        "advance_rate_bps": 9000,
        "funding_probability_bps": 7500,
        "value_date": "2026-11-11",
        "known_at": "2026-11-09T08:00:00Z"
      },
      "expected": {
        "status": "demand_forecast_for_review",
        "by_value_date": {
          "2026-11-09": {
            "scheduled_principal_cents": 30000000,
            "scheduled_advance_cents": 28500000,
            "scheduled_equity_cents": 1500000,
            "confirmed_principal_cents": 30000000,
            "weighted_principal_cents": 30000000,
            "weighted_advance_cents": 28500000,
            "weighted_equity_cents": 1500000
          },
          "2026-11-11": {
            "scheduled_principal_cents": 20000000,
            "scheduled_advance_cents": 18000000,
            "scheduled_equity_cents": 2000000,
            "confirmed_principal_cents": 0,
            "weighted_principal_cents": 15000000,
            "weighted_advance_cents": 13500000,
            "weighted_equity_cents": 1500000
          }
        },
        "unique_loan_count": 2,
        "duplicate_rows": 0,
        "funding_instructions_created": 0
      }
    },
    {
      "name": "Cancelled state must remain coherent",
      "path": [
        "loans",
        0,
        "status"
      ],
      "value": "cancelled",
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:cancelled_probability_not_zero:L1"
        ]
      }
    },
    {
      "name": "Malformed probability",
      "path": [
        "loans",
        1,
        "funding_probability_bps"
      ],
      "value": "75%",
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:funding_probability_bps:integer_out_of_contract"
        ]
      }
    },
    {
      "name": "Future correction excluded",
      "path": [
        "loans",
        0,
        "known_at"
      ],
      "value": "2026-11-09T09:00:00Z",
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:loan:future_information"
        ]
      }
    },
    {
      "name": "Missing expected loan",
      "path": [
        "loans"
      ],
      "value": [
        {
          "loan_id": "L1",
          "revision": 1,
          "status": "confirmed",
          "principal_cents": 30000000,
          "advance_rate_bps": 9500,
          "funding_probability_bps": 10000,
          "value_date": "2026-11-09",
          "known_at": "2026-11-09T08:00:00Z"
        }
      ],
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:loan_population_mismatch"
        ]
      }
    },
    {
      "name": "Complete zero-funding day is valid",
      "replace_input": {
        "cutoff": "2026-11-09T08:00:00Z",
        "entity_id": "LENDER",
        "currency": "USD",
        "contract_version": "illustrative-2026-11-v1",
        "sources": [
          {
            "source_id": "closing_schedule",
            "as_of": "2026-11-09T08:00:00Z",
            "received_at": "2026-11-09T08:00:00Z",
            "complete": true,
            "revision": "v1"
          },
          {
            "source_id": "secondary_forecast",
            "as_of": "2026-11-09T08:00:00Z",
            "received_at": "2026-11-09T08:00:00Z",
            "complete": true,
            "revision": "v1"
          }
        ],
        "loans": [],
        "expected_loan_ids": []
      },
      "expected": {
        "status": "demand_forecast_for_review",
        "by_value_date": {},
        "unique_loan_count": 0,
        "duplicate_rows": 0,
        "funding_instructions_created": 0
      }
    }
  ]
}
