{
  "schema_version": 1,
  "environment": "staging",
  "source_scope": "default",
  "run_id": "phase1-e2e-example",
  "dedicated_fixture_prefix": "phase1-e2e-example",
  "expected_stage_start_watermarks": {
    "entry": 61,
    "functional": 61,
    "redelivery": 79,
    "conflict": 79,
    "restart": 80,
    "rollback": 80,
    "cleanup": 80,
    "final": 80
  },
  "approved": false,
  "approval_ref": "",
  "conflict_armed": false,
  "load_enabled": false,
  "dr_enabled": false,
  "variables": {
    "approved_slot": 1,
    "replacement_slot": 2,
    "constraint_break_slot": 3,
    "conflict_slot": 4,
    "booking_slot": 5,
    "booking_from_date": "2026-08-10",
    "booking_to_date": "2026-08-16",
    "variant_week_ids": [1]
  },
  "reference_selectors": {
    "dedicated_academic_term_id": {
      "model": "academic_term",
      "filters": {"code": "PHASE1-E2E-SCAFFOLD"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "bulk_activity_ids": {
      "model": "activity",
      "filters": {"code__startswith": "phase1-e2e-example-bulk-"},
      "expected_count": 2,
      "dedicated_e2e": true
    },
    "preschedule_activity_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-preschedule"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "drag_drop_activity_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-drag-drop"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "booking_type_id": {
      "model": "activity_type",
      "filters": {"name": "PHASE1-E2E-BOOKING", "booking": true},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "booking_staff_id": {
      "model": "staff",
      "filters": {"code": "phase1-e2e-example-booking-staff"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "booking_location_id": {
      "model": "location",
      "filters": {"code": "phase1-e2e-example-booking-location"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "reschedule_activity_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-reschedule"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "unschedule_activity_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-unschedule"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "variant_parent_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-variant"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "constraint_break_activity_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-constraint-break"},
      "expected_count": 1,
      "dedicated_e2e": true
    },
    "conflict_activity_id": {
      "model": "activity",
      "filters": {"code": "phase1-e2e-example-conflict"},
      "expected_count": 1,
      "dedicated_e2e": true
    }
  },
  "cases": [
    {
      "id": "E2E-01",
      "stage": "functional",
      "driver": "timetabler_admin_api",
      "fixture_refs": ["dedicated_staff", "dedicated_location"],
      "reverse_delivery_expected": false,
      "steps": [
        {"name": "staff-create", "kind": "api", "path": "/api/admin/staff/create", "payload": {"code": "{{run_id}}-staff", "name": "{{run_id}} Staff", "maximum_period": 1, "contract_period": 1}, "expected_source_transactions": 1, "capture": {"staff_id": {"model": "staff", "filters": {"code": "phase1-e2e-example-staff"}, "expected_count": 1, "dedicated_e2e": true}}},
        {"name": "staff-update-archive", "kind": "api", "path": "/api/admin/staff/update", "payload": {"id": ["{{staff_id}}"], "status": 2}, "expected_source_transactions": 1},
        {"name": "staff-delete", "kind": "api", "path": "/api/admin/staff/delete", "payload": {"id": ["{{staff_id}}"]}, "expected_source_transactions": 1},
        {"name": "location-create", "kind": "api", "path": "/api/admin/location/create", "payload": {"code": "{{run_id}}-location", "name": "{{run_id}} Location", "maximum_period": 1, "contract_period": 1}, "expected_source_transactions": 1, "capture": {"location_id": {"model": "location", "filters": {"code": "phase1-e2e-example-location"}, "expected_count": 1, "dedicated_e2e": true}}},
        {"name": "location-update-archive", "kind": "api", "path": "/api/admin/location/update", "payload": {"id": ["{{location_id}}"], "status": 2}, "expected_source_transactions": 1},
        {"name": "location-delete", "kind": "api", "path": "/api/admin/location/delete", "payload": {"id": ["{{location_id}}"]}, "expected_source_transactions": 1}
      ]
    },
    {
      "id": "E2E-02",
      "stage": "functional",
      "driver": "scheduling_engine_final_response",
      "fixture_refs": ["dedicated_bulk_activity_ids"],
      "reverse_delivery_expected": false,
      "steps": [{"name": "bulk-final", "kind": "api", "path": "/api/admin/schedule-request", "payload": {"activity_ids": "{{bulk_activity_ids}}"}, "expected_source_transactions": 1, "timeout_seconds": 120}]
    },
    {
      "id": "E2E-03",
      "stage": "functional",
      "driver": "preschedule_advice",
      "fixture_refs": ["dedicated_preschedule_activity_id"],
      "reverse_delivery_expected": false,
      "steps": [{"name": "advice-only", "kind": "api", "path": "/api/admin/preschedule-request", "payload": {"activity_ids": ["{{preschedule_activity_id}}"]}, "expected_source_transactions": 0}]
    },
    {
      "id": "E2E-04",
      "stage": "functional",
      "driver": "accepted_drag_drop",
      "fixture_refs": ["dedicated_drag_drop_activity_id"],
      "reverse_delivery_expected": false,
      "steps": [{"name": "accepted-drop", "kind": "api", "path": "/api/admin/schedule-request", "payload": {"activity_ids": ["{{drag_drop_activity_id}}"], "slot": "{{approved_slot}}"}, "expected_source_transactions": 1, "timeout_seconds": 120}]
    },
    {
      "id": "E2E-05",
      "stage": "functional",
      "driver": "timetabler_booking_api",
      "fixture_refs": ["dedicated_booking_type_id"],
      "reverse_delivery_expected": false,
      "steps": [
        {"name": "booking-create", "kind": "api", "path": "/api/admin/booking/create", "payload": {"code": "{{run_id}}-booking", "name": "{{run_id}} Booking", "slot_required": 1, "planned_size": 1, "activity_type_id": "{{booking_type_id}}", "from_date": "{{booking_from_date}}", "to_date": "{{booking_to_date}}"}, "expected_source_transactions": 1, "capture": {"booking_activity_id": {"model": "activity", "filters": {"code": "phase1-e2e-example-booking"}, "expected_count": 1, "dedicated_e2e": true}}},
        {"name": "booking-schedule-staff", "kind": "api", "path": "/api/admin/booking/schedule", "payload": {"activity_id": "{{booking_activity_id}}", "type": "staff", "resource_ids": ["{{booking_staff_id}}"], "slot": "{{booking_slot}}"}, "expected_source_transactions": 1},
        {"name": "booking-schedule-location", "kind": "api", "path": "/api/admin/booking/schedule", "payload": {"activity_id": "{{booking_activity_id}}", "type": "location", "resource_ids": ["{{booking_location_id}}"], "slot": "{{booking_slot}}"}, "expected_source_transactions": 1}
      ]
    },
    {
      "id": "E2E-06",
      "stage": "functional",
      "driver": "timetabler_reschedule_api",
      "fixture_refs": ["dedicated_reschedule_activity_id"],
      "reverse_delivery_expected": false,
      "steps": [{"name": "reschedule", "kind": "api", "path": "/api/admin/schedule-request", "payload": {"activity_ids": ["{{reschedule_activity_id}}"], "slot": "{{replacement_slot}}"}, "expected_source_transactions": 1, "timeout_seconds": 120}]
    },
    {
      "id": "E2E-07",
      "stage": "functional",
      "driver": "timetabler_lifecycle_api",
      "fixture_refs": ["dedicated_lifecycle_activity_ids"],
      "reverse_delivery_expected": false,
      "steps": [
        {"name": "unschedule", "kind": "api", "path": "/api/admin/unschedule", "payload": {"activity_ids": ["{{unschedule_activity_id}}"]}, "expected_source_transactions": 1},
        {"name": "booking-unschedule", "kind": "api", "path": "/api/admin/booking/unschedule", "payload": {"activity_ids": ["{{booking_activity_id}}"]}, "expected_source_transactions": 1},
        {"name": "booking-delete", "kind": "api", "path": "/api/admin/booking/delete", "payload": {"id": ["{{booking_activity_id}}"]}, "expected_source_transactions": 1},
        {"name": "variant-create", "kind": "api", "path": "/api/admin/variant-create", "payload": {"activity_id": "{{variant_parent_id}}", "week_ids": "{{variant_week_ids}}"}, "expected_source_transactions": 1, "capture": {"variant_activity_id": {"model": "activity", "filters": {"code": "phase1-e2e-example-variant 002"}, "expected_count": 1, "dedicated_e2e": true}}},
        {"name": "variant-delete-merge", "kind": "api", "path": "/api/admin/activity/delete", "payload": {"id": ["{{variant_activity_id}}"]}, "expected_source_transactions": 1}
      ]
    },
    {
      "id": "E2E-08",
      "stage": "functional",
      "driver": "manual_constraint_break",
      "fixture_refs": ["dedicated_constraint_break_activity_id"],
      "reverse_delivery_expected": false,
      "steps": [{"name": "manual-final", "kind": "api", "path": "/api/admin/schedule-request", "payload": {"activity_ids": ["{{constraint_break_activity_id}}"], "slot": "{{constraint_break_slot}}", "constraint_breaking_mode": 1}, "expected_source_transactions": 1}]
    },
    {
      "id": "E2E-09",
      "stage": "redelivery",
      "driver": "immutable_transport_redelivery",
      "fixture_refs": ["run-owned-published-transaction"],
      "reverse_delivery_expected": false,
      "correlation_prefix": "phase1-e2e-example",
      "delay_seconds": 5
    },
    {
      "id": "E2E-10",
      "stage": "conflict",
      "driver": "cross_service_mirror_only_race",
      "fixture_refs": ["dedicated_shared_resource_ids"],
      "reverse_delivery_expected": false,
      "execute_at_epoch": 4102444800,
      "steps": [
        {"name": "tt-contender", "kind": "api", "target": "timetabler", "path": "/api/admin/schedule-request", "payload": {"activity_ids": ["{{conflict_activity_id}}"], "slot": "{{conflict_slot}}"}, "expected_source_transactions": 1}
      ]
    },
    {"id": "E2E-11", "stage": "restart", "driver": "coordinated_process_restart", "fixture_refs": ["attested_tt_publisher"], "reverse_delivery_expected": false},
    {"id": "E2E-12", "stage": "rollback", "driver": "safe_release_config_rollback", "fixture_refs": ["approved_release_and_config"], "reverse_delivery_expected": false},
    {"id": "E2E-13", "stage": "final", "driver": "unfiltered_reconciliation", "fixture_refs": ["immutable_rb_reconciliation_evidence_owned_by_rb_workflow"], "reverse_delivery_expected": false}
  ]
}
