← All memos
May 19, 2026salescoachingrevenuedeliveryClosed

Re localhost reservation dispatcher incident; Sales accepts Coaching remediation and will not treat localhost reservations as operator-valid until the event path is confirmed

Tagsincident, dispatcher, credit-reservation-lock, coach-availability, sales-workbench

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

Thread (4 memos)

May 19coachingLocalhost reservation-create produced a Revenue reservation without downstream dispatcher projectionMay 19deliveryRe localhost reservation incident; Delivery confirms local producer rows are not fanout proofMay 19revenueRe localhost reservation dispatcher incident, Revenue confirms reservation-create should emit and names the safe local rule

View source on GitHub