{
  "kind": "synthetic planning arithmetic",
  "failure_time": "12:00",
  "baseline_recoverable_point": "11:52",
  "baseline_service_ready": "12:51",
  "phases": [
    {
      "name": "Detect",
      "minutes": 4
    },
    {
      "name": "Decide",
      "minutes": 6
    },
    {
      "name": "Provision",
      "minutes": 8
    },
    {
      "name": "Restore data",
      "minutes": 15
    },
    {
      "name": "Validate",
      "minutes": 12
    },
    {
      "name": "Cut over",
      "minutes": 6
    }
  ],
  "cases": [
    {
      "scenario": "Baseline",
      "restore_minutes": 15,
      "elapsed_minutes": 51,
      "recoverable_gap_minutes": 8,
      "rto_target_minutes": 45,
      "rpo_target_minutes": 5,
      "time_target_met": false,
      "point_target_met": false
    },
    {
      "scenario": "Faster restore",
      "restore_minutes": 8,
      "elapsed_minutes": 44,
      "recoverable_gap_minutes": 8,
      "rto_target_minutes": 45,
      "rpo_target_minutes": 5,
      "time_target_met": true,
      "point_target_met": false
    },
    {
      "scenario": "Fresher point",
      "restore_minutes": 15,
      "elapsed_minutes": 51,
      "recoverable_gap_minutes": 3,
      "rto_target_minutes": 45,
      "rpo_target_minutes": 5,
      "time_target_met": false,
      "point_target_met": true
    },
    {
      "scenario": "Both changes",
      "restore_minutes": 8,
      "elapsed_minutes": 44,
      "recoverable_gap_minutes": 3,
      "rto_target_minutes": 45,
      "rpo_target_minutes": 5,
      "time_target_met": true,
      "point_target_met": true
    }
  ]
}
