{
  "method": "Manual semantic coding after reading every explanation; exact crew names, booking IDs, endpoints, gaps, touching boundaries and overlap intervals then checked programmatically against frozen records. This does not claim automated free-text interpretation.",
  "observations": [
    {
      "reader_id": "R1",
      "case_id": "K01",
      "evidence": "Preparations and consent are confirmed. Alder's bookings meet at 09:00, Cedar's at 10:00, and Birch's at 09:30, with no overlap.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Alder",
          "times": [
            540
          ]
        },
        {
          "kind": "touching",
          "crew": "Cedar",
          "times": [
            600
          ]
        },
        {
          "kind": "touching",
          "crew": "Birch",
          "times": [
            570
          ]
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K02",
      "evidence": "Preparations and consent are confirmed. Elm has bookings at 08:00–09:00 and 10:10–11:10; Fern at 08:00–09:00 and 09:10–10:00; Hazel at 08:00–09:00 and 10:00–11:00. None overlap within a crew.",
      "manual_codes": [
        {
          "kind": "intervals",
          "crew": "Elm",
          "slots": [
            [
              480,
              540
            ],
            [
              610,
              670
            ]
          ]
        },
        {
          "kind": "intervals",
          "crew": "Fern",
          "slots": [
            [
              480,
              540
            ],
            [
              550,
              600
            ]
          ]
        },
        {
          "kind": "intervals",
          "crew": "Hazel",
          "slots": [
            [
              480,
              540
            ],
            [
              600,
              660
            ]
          ]
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K03",
      "evidence": "Crew Ivy's B4 runs 08:00–10:30 while its B2 runs 09:00–09:30, creating a same-crew overlap.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Ivy",
          "pair": [
            "B2",
            "B4"
          ],
          "start": 540,
          "end": 570
        },
        {
          "kind": "booking",
          "id": "B4",
          "crew": "Ivy",
          "start": 480,
          "end": 630
        },
        {
          "kind": "booking",
          "id": "B2",
          "crew": "Ivy",
          "start": 540,
          "end": 570
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K04",
      "evidence": "Crew Maple's B2 runs 08:00–09:05 and B4 runs 09:00–10:00, overlapping from 09:00–09:05.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Maple",
          "pair": [
            "B2",
            "B4"
          ],
          "start": 540,
          "end": 545
        },
        {
          "kind": "booking",
          "id": "B2",
          "crew": "Maple",
          "start": 480,
          "end": 545
        },
        {
          "kind": "booking",
          "id": "B4",
          "crew": "Maple",
          "start": 540,
          "end": 600
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K05",
      "evidence": "Preparations and consent are confirmed. Rowan's three bookings meet at 09:00 and 10:00; Spruce's meet at 09:50; Willow has one booking. There is no same-crew overlap.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Rowan",
          "times": [
            540,
            600
          ]
        },
        {
          "kind": "touching",
          "crew": "Spruce",
          "times": [
            590
          ]
        },
        {
          "kind": "single_booking",
          "crew": "Willow"
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K06",
      "evidence": "Crew Yew's B3 and B5 overlap from 09:00–09:20; its B5 and B2 also overlap from 10:10–10:20.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Yew",
          "pair": [
            "B3",
            "B5"
          ],
          "start": 540,
          "end": 560
        },
        {
          "kind": "conflict",
          "crew": "Yew",
          "pair": [
            "B2",
            "B5"
          ],
          "start": 610,
          "end": 620
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K07",
      "evidence": "Preparations and consent are confirmed. Holly's bookings have a gap from 08:55–09:00, Laurel's from 09:35–09:40, and Lime's from 09:50–09:55. No crew has overlapping bookings.",
      "manual_codes": [
        {
          "kind": "gap",
          "crew": "Holly",
          "start": 535,
          "end": 540
        },
        {
          "kind": "gap",
          "crew": "Laurel",
          "start": 575,
          "end": 580
        },
        {
          "kind": "gap",
          "crew": "Lime",
          "start": 590,
          "end": 595
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R1",
      "case_id": "K08",
      "evidence": "Crew Poplar's B2 and B3 overlap from 09:10–09:30, and Crew Sallow's B4 and B5 overlap from 09:50–10:10.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Poplar",
          "pair": [
            "B2",
            "B3"
          ],
          "start": 550,
          "end": 570
        },
        {
          "kind": "conflict",
          "crew": "Sallow",
          "pair": [
            "B4",
            "B5"
          ],
          "start": 590,
          "end": 610
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K09",
      "evidence": "Preparations are complete and consent is approved. Alder's bookings meet at 10:15, Birch's at 09:15 and Cedar's at 09:45. The rules explicitly permit these boundaries without overlap.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Alder",
          "times": [
            615
          ]
        },
        {
          "kind": "touching",
          "crew": "Birch",
          "times": [
            555
          ]
        },
        {
          "kind": "touching",
          "crew": "Cedar",
          "times": [
            585
          ]
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K10",
      "evidence": "Preparations are complete and consent is approved. Elm's first booking ends at 09:15 and its next starts at 10:15; Fern's ends at 09:15 and its next starts at 10:25; Hazel's ends at 09:15 and its next starts at 09:25. No crew has overlapping bookings.",
      "manual_codes": [
        {
          "kind": "gap",
          "crew": "Elm",
          "start": 555,
          "end": 615
        },
        {
          "kind": "gap",
          "crew": "Fern",
          "start": 555,
          "end": 625
        },
        {
          "kind": "gap",
          "crew": "Hazel",
          "start": 555,
          "end": 565
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K11",
      "evidence": "Crew Juniper is assigned B1 from 08:15–10:45 and B6 from 09:15–09:45. Both bookings are in progress from 09:15–09:45, violating the one-booking-per-crew condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Juniper",
          "pair": [
            "B1",
            "B6"
          ],
          "start": 555,
          "end": 585
        },
        {
          "kind": "booking",
          "id": "B1",
          "crew": "Juniper",
          "start": 495,
          "end": 645
        },
        {
          "kind": "booking",
          "id": "B6",
          "crew": "Juniper",
          "start": 555,
          "end": 585
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K12",
      "evidence": "Crew Oak is assigned B4 from 08:15–09:20 and B1 from 09:15–10:15. These overlap from 09:15–09:20.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Oak",
          "pair": [
            "B1",
            "B4"
          ],
          "start": 555,
          "end": 560
        },
        {
          "kind": "booking",
          "id": "B4",
          "crew": "Oak",
          "start": 495,
          "end": 560
        },
        {
          "kind": "booking",
          "id": "B1",
          "crew": "Oak",
          "start": 555,
          "end": 615
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K13",
      "evidence": "Preparations are complete and consent is approved. Spruce's three bookings meet at 09:15 and 10:15; Willow's two bookings meet at 10:05; Rowan has one booking. No same-crew bookings overlap.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Spruce",
          "times": [
            555,
            615
          ]
        },
        {
          "kind": "touching",
          "crew": "Willow",
          "times": [
            605
          ]
        },
        {
          "kind": "single_booking",
          "crew": "Rowan"
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K14",
      "evidence": "Crew Ash's B5 and B1 overlap from 09:15–09:35. Its B1 and B2 also overlap from 10:25–10:35. These violate the one-booking-per-crew condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Ash",
          "pair": [
            "B1",
            "B5"
          ],
          "start": 555,
          "end": 575
        },
        {
          "kind": "conflict",
          "crew": "Ash",
          "pair": [
            "B1",
            "B2"
          ],
          "start": 625,
          "end": 635
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K15",
      "evidence": "Preparations are complete and consent is approved. Holly has a gap from 10:05–10:10, Laurel from 09:10–09:15 and Lime from 09:50–09:55 between their bookings. No crew has overlapping bookings.",
      "manual_codes": [
        {
          "kind": "gap",
          "crew": "Holly",
          "start": 605,
          "end": 610
        },
        {
          "kind": "gap",
          "crew": "Laurel",
          "start": 550,
          "end": 555
        },
        {
          "kind": "gap",
          "crew": "Lime",
          "start": 590,
          "end": 595
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R2",
      "case_id": "K16",
      "evidence": "Crew Sallow's B1 and B3 overlap from 09:25–09:45. Crew Walnut's B2 and B4 overlap from 10:05–10:25. Either overlap prevents authorisation exactly as listed.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Sallow",
          "pair": [
            "B1",
            "B3"
          ],
          "start": 565,
          "end": 585
        },
        {
          "kind": "conflict",
          "crew": "Walnut",
          "pair": [
            "B2",
            "B4"
          ],
          "start": 605,
          "end": 625
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K08",
      "evidence": "Crew Poplar's B2 and B3 overlap from 09:10 to 09:30. Crew Sallow's B4 and B5 also overlap from 09:50 to 10:10. These violate the one-booking-per-crew condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Poplar",
          "pair": [
            "B2",
            "B3"
          ],
          "start": 550,
          "end": 570
        },
        {
          "kind": "conflict",
          "crew": "Sallow",
          "pair": [
            "B4",
            "B5"
          ],
          "start": 590,
          "end": 610
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K07",
      "evidence": "Preparations are complete and consent is approved. Holly's bookings end at 08:55 and resume at 09:00; Lime's end at 09:50 and resume at 09:55; Laurel's end at 09:35 and resume at 09:40. No crew has overlapping bookings.",
      "manual_codes": [
        {
          "kind": "gap",
          "crew": "Holly",
          "start": 535,
          "end": 540
        },
        {
          "kind": "gap",
          "crew": "Laurel",
          "start": 575,
          "end": 580
        },
        {
          "kind": "gap",
          "crew": "Lime",
          "start": 590,
          "end": 595
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K06",
      "evidence": "Crew Yew's B3 and B5 overlap from 09:00 to 09:20. Its B5 and B2 also overlap from 10:10 to 10:20. The plan therefore fails the crew condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Yew",
          "pair": [
            "B3",
            "B5"
          ],
          "start": 540,
          "end": 560
        },
        {
          "kind": "conflict",
          "crew": "Yew",
          "pair": [
            "B2",
            "B5"
          ],
          "start": 610,
          "end": 620
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K05",
      "evidence": "Preparations are complete and consent is approved. Rowan's three bookings meet at 09:00 and 10:00, and Spruce's two meet at 09:50. Exact boundary handovers are permitted. Willow has only one booking.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Rowan",
          "times": [
            540,
            600
          ]
        },
        {
          "kind": "touching",
          "crew": "Spruce",
          "times": [
            590
          ]
        },
        {
          "kind": "single_booking",
          "crew": "Willow"
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K04",
      "evidence": "Crew Maple's B2 runs until 09:05 while its B4 starts at 09:00, creating an overlap from 09:00 to 09:05.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Maple",
          "pair": [
            "B2",
            "B4"
          ],
          "start": 540,
          "end": 545
        },
        {
          "kind": "booking_endpoint",
          "id": "B2",
          "crew": "Maple",
          "endpoint": "end",
          "time": 545
        },
        {
          "kind": "booking_endpoint",
          "id": "B4",
          "crew": "Maple",
          "endpoint": "start",
          "time": 540
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K03",
      "evidence": "Crew Ivy's B2 runs from 09:00 to 09:30 within its B4 booking of 08:00 to 10:30. Ivy therefore has two bookings in progress simultaneously.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Ivy",
          "pair": [
            "B2",
            "B4"
          ],
          "start": 540,
          "end": 570
        },
        {
          "kind": "booking",
          "id": "B4",
          "crew": "Ivy",
          "start": 480,
          "end": 630
        },
        {
          "kind": "booking",
          "id": "B2",
          "crew": "Ivy",
          "start": 540,
          "end": 570
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K02",
      "evidence": "Preparations are complete and consent is approved. Fern's first booking ends at 09:00 before its next starts at 09:10. Hazel's bookings are 08:00–09:00 and 10:00–11:00; Elm's are 08:00–09:00 and 10:10–11:10. No same-crew intervals overlap.",
      "manual_codes": [
        {
          "kind": "intervals",
          "crew": "Elm",
          "slots": [
            [
              480,
              540
            ],
            [
              610,
              670
            ]
          ]
        },
        {
          "kind": "gap",
          "crew": "Fern",
          "start": 540,
          "end": 550
        },
        {
          "kind": "intervals",
          "crew": "Hazel",
          "slots": [
            [
              480,
              540
            ],
            [
              600,
              660
            ]
          ]
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R3",
      "case_id": "K01",
      "evidence": "Preparations are complete and consent is approved. Alder's bookings meet at 09:00, Birch's at 09:30, and Cedar's at 10:00. The record explicitly permits an interval to end exactly when another starts.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Alder",
          "times": [
            540
          ]
        },
        {
          "kind": "touching",
          "crew": "Cedar",
          "times": [
            600
          ]
        },
        {
          "kind": "touching",
          "crew": "Birch",
          "times": [
            570
          ]
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K16",
      "evidence": "Crew Sallow's B1 and B3 overlap from 09:25 to 09:45. Crew Walnut's B2 and B4 also overlap from 10:05 to 10:25. These conflicts violate the one-booking-at-a-time condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Sallow",
          "pair": [
            "B1",
            "B3"
          ],
          "start": 565,
          "end": 585
        },
        {
          "kind": "conflict",
          "crew": "Walnut",
          "pair": [
            "B2",
            "B4"
          ],
          "start": 605,
          "end": 625
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K15",
      "evidence": "Preparations are complete and consent approved. Lime's bookings end at 09:50 and resume at 09:55; Laurel's end at 09:10 and resume at 09:15; Holly's end at 10:05 and resume at 10:10. No crew has overlapping bookings.",
      "manual_codes": [
        {
          "kind": "gap",
          "crew": "Holly",
          "start": 605,
          "end": 610
        },
        {
          "kind": "gap",
          "crew": "Laurel",
          "start": 550,
          "end": 555
        },
        {
          "kind": "gap",
          "crew": "Lime",
          "start": 590,
          "end": 595
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K14",
      "evidence": "Crew Ash's B5 overlaps B1 from 09:15 to 09:35, and B1 overlaps B2 from 10:25 to 10:35. The plan therefore violates the one-booking-at-a-time condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Ash",
          "pair": [
            "B1",
            "B5"
          ],
          "start": 555,
          "end": 575
        },
        {
          "kind": "conflict",
          "crew": "Ash",
          "pair": [
            "B1",
            "B2"
          ],
          "start": 625,
          "end": 635
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K13",
      "evidence": "Preparations are complete and consent approved. Spruce's bookings meet exactly at 09:15 and 10:15; Willow's meet exactly at 10:05. Rowan has one booking. Exact endpoint handovers are explicitly allowed.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Spruce",
          "times": [
            555,
            615
          ]
        },
        {
          "kind": "touching",
          "crew": "Willow",
          "times": [
            605
          ]
        },
        {
          "kind": "single_booking",
          "crew": "Rowan"
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K12",
      "evidence": "Crew Oak's B4 runs from 08:15 to 09:20, while its B1 starts at 09:15. They overlap from 09:15 to 09:20, violating the one-booking-at-a-time condition.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Oak",
          "pair": [
            "B1",
            "B4"
          ],
          "start": 555,
          "end": 560
        },
        {
          "kind": "booking",
          "id": "B4",
          "crew": "Oak",
          "start": 495,
          "end": 560
        },
        {
          "kind": "booking_endpoint",
          "id": "B1",
          "crew": "Oak",
          "endpoint": "start",
          "time": 555
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K11",
      "evidence": "Crew Juniper's B1 runs from 08:15 to 10:45, encompassing its B6 booking from 09:15 to 09:45. Juniper therefore has two bookings in progress during that interval.",
      "manual_codes": [
        {
          "kind": "conflict",
          "crew": "Juniper",
          "pair": [
            "B1",
            "B6"
          ],
          "start": 555,
          "end": 585
        },
        {
          "kind": "booking",
          "id": "B1",
          "crew": "Juniper",
          "start": 495,
          "end": 645
        },
        {
          "kind": "booking",
          "id": "B6",
          "crew": "Juniper",
          "start": 555,
          "end": 585
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": true,
      "all_crews_accounted_for": null,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K10",
      "evidence": "Preparations are complete and consent approved. Fern's earlier booking ends at 09:15 and its next starts at 10:25; Hazel's end and restart are 09:15 and 09:25; Elm's are 09:15 and 10:15. No same-crew intervals overlap.",
      "manual_codes": [
        {
          "kind": "gap",
          "crew": "Elm",
          "start": 555,
          "end": 615
        },
        {
          "kind": "gap",
          "crew": "Fern",
          "start": 555,
          "end": 625
        },
        {
          "kind": "gap",
          "crew": "Hazel",
          "start": 555,
          "end": 565
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    },
    {
      "reader_id": "R4",
      "case_id": "K09",
      "evidence": "Preparations are complete and consent approved. Alder's bookings meet at 10:15, Birch's at 09:15, and Cedar's at 09:45. These exact endpoint handovers are allowed and create no overlap.",
      "manual_codes": [
        {
          "kind": "touching",
          "crew": "Alder",
          "times": [
            615
          ]
        },
        {
          "kind": "touching",
          "crew": "Birch",
          "times": [
            555
          ]
        },
        {
          "kind": "touching",
          "crew": "Cedar",
          "times": [
            585
          ]
        }
      ],
      "all_coded_claims_supported": true,
      "all_actual_conflicts_named": null,
      "all_crews_accounted_for": true,
      "other_assertions_review": "Readiness statements and no-overlap conclusions checked against explicit rules and occupancy oracle; no unsupported extra assertion found.",
      "needs_checking": "Nothing further under the stated rules"
    }
  ]
}
