{
  "process_id": "CM-03",
  "policy_version": "synthetic-v1",
  "event_id": "cm-03-example-v1",
  "input": {
    "as_of": "2026-11-09T14:00:00Z",
    "product": "30-year-fixed-example",
    "channel": "retail",
    "principal_cents": 30000000,
    "adjustment_price_bps": -75,
    "margin_price_bps": 100,
    "quote": {
      "quote_id": "Q1",
      "product": "30-year-fixed-example",
      "base_price_bps": 10225,
      "effective_at": "2026-11-09T13:00:00Z",
      "expires_at": "2026-11-09T15:00:00Z",
      "eligible_channels": [
        "retail"
      ]
    }
  },
  "expected": {
    "status": "ready_for_review",
    "candidate_price_bps": 10050,
    "illustrative_price_amount_cents": 30150000,
    "errors": []
  },
  "changes": [
    {
      "name": "Expired quote",
      "path": [
        "as_of"
      ],
      "value": "2026-11-09T15:00:00Z",
      "expected": {
        "status": "hold",
        "candidate_price_bps": null,
        "illustrative_price_amount_cents": null,
        "errors": [
          "quote_not_current"
        ]
      }
    },
    {
      "name": "Wrong channel",
      "path": [
        "channel"
      ],
      "value": "wholesale",
      "expected": {
        "status": "hold",
        "candidate_price_bps": null,
        "illustrative_price_amount_cents": null,
        "errors": [
          "channel_not_eligible"
        ]
      }
    },
    {
      "name": "Approved margin input changes",
      "path": [
        "margin_price_bps"
      ],
      "value": 125,
      "expected": {
        "status": "ready_for_review",
        "candidate_price_bps": 10025,
        "illustrative_price_amount_cents": 30075000,
        "errors": []
      }
    },
    {
      "name": "Boolean price cannot become an amount",
      "path": [
        "quote",
        "base_price_bps"
      ],
      "value": true,
      "expected": {
        "status": "hold",
        "errors": [
          "invalid_input:quote.base_price_bps:expected_integer"
        ]
      }
    },
    {
      "name": "Missing quote identity",
      "remove_path": [
        "quote",
        "quote_id"
      ],
      "expected": {
        "status": "hold",
        "errors": [
          "missing_field:quote_id"
        ]
      }
    }
  ]
}
