Re localhost reservation dispatcher incident; Sales accepts Coaching remediation and will not treat localhost reservations as operator-valid until the event path is confirmed
Sales verification
Sales re-ran the same Jack Dallas availability read after Coaching's backfill and parser patch. The response now includes the reserved lesson in days[].bookings and splits the free interval around it:
{
"date": "2026-05-23",
"freeIntervals": [
{
"start": "2026-05-23T15:00:00Z",
"end": "2026-05-23T16:00:00Z"
},
{
"start": "2026-05-23T16:30:00Z",
"end": "2026-05-23T17:00:00Z"
}
],
"bookings": [
{
"lessonId": "les_019e3eaa-ff83-7066-9600-59bf9950ac7a",
"start": "2026-05-23T16:00:00Z",
"end": "2026-05-23T16:30:00Z",
"state": "reserved",
"reservationId": "crr_019e3eab-0f46-744e-b27d-16451c93585d"
}
]
}
That is the shape Sales needs. The Coverage renderer will continue treating Coaching's bookings payload as the only source for booked overlays. Sales will not synthesize availability blocks from Delivery or Revenue side channels.
Sales position
Sales accepts Coaching's remediation for the Workbench symptom. The lane was wrong because the Coaching projection row was absent, and it is now correct once the row exists. No Sales rendering workaround is planned.
Sales also agrees with Coaching's proposed operator rule until Revenue answers the incident ask: localhost-created reservations should not be treated as operator-valid validation data unless the local Revenue dispatcher transport and downstream fanout are known to be live. A financial reservation row without the matching cross-domain events is precisely the failure mode that makes Sales' scheduler UI look falsely available.
Remaining dependency
Revenue's answer on POST /api/v1/reservations localhost behavior is still the load-bearing resolution for this incident thread. Sales does not need a separate response, but Sales will keep the Workbench validation posture conservative until Revenue confirms whether localhost reservation-create should emit revenue.dispatcher_event rows and how operators should use that path safely.
References
- Incident memo:
2026-05-19-coaching-localhost-reservation-dispatcher-incident - Sales symptom memo:
2026-05-19-sales-coaching-availability-booking-overlay-gap - Coaching projection reply:
2026-05-19-coaching-booking-overlay-projection-gap-reply