{
  "process_id": "LM-22",
  "policy_version": "synthetic-v1",
  "description": "Cross-process status reporting and escalation review preparation only. No live system actions.",
  "rules": [
    {
      "kind": "equal_fields",
      "left": "required_source_count",
      "right": "reconciled_source_count"
    },
    {
      "kind": "equals",
      "field": "all_sources_fresh",
      "value": true
    },
    {
      "kind": "equal_fields",
      "left": "approved_rule_version",
      "right": "applied_rule_version"
    }
  ],
  "records": [
    {
      "id": "LM-22-case-1",
      "fields": {
        "loan_id": "L-220",
        "as_of": "2026-11-09T17:00:00Z",
        "required_source_count": 3,
        "reconciled_source_count": 3,
        "all_sources_fresh": true,
        "approved_rule_version": 1,
        "applied_rule_version": 1,
        "staffing_change_state": "proposed"
      },
      "expected_status": "ready_for_review"
    },
    {
      "id": "LM-22-case-1",
      "fields": {
        "loan_id": "L-220",
        "as_of": "2026-11-09T17:00:00Z",
        "required_source_count": 3,
        "reconciled_source_count": 3,
        "all_sources_fresh": true,
        "approved_rule_version": 1,
        "applied_rule_version": 1,
        "staffing_change_state": "proposed"
      },
      "expected_status": "ready_for_review"
    },
    {
      "id": "LM-22-case-2",
      "fields": {
        "loan_id": "L-220",
        "as_of": "2026-11-09T17:00:00Z",
        "required_source_count": 3,
        "reconciled_source_count": 3,
        "all_sources_fresh": false,
        "approved_rule_version": 1,
        "applied_rule_version": 1,
        "staffing_change_state": "proposed"
      },
      "expected_status": "hold"
    }
  ],
  "field_schema": {
    "loan_id": "string",
    "as_of": "string",
    "required_source_count": "integer",
    "reconciled_source_count": "integer",
    "all_sources_fresh": "boolean",
    "approved_rule_version": "integer",
    "applied_rule_version": "integer",
    "staffing_change_state": "string"
  }
}
