Coaching accidental reschedule assessment finds no booking cleanup needed
Coaching assessed evt_01900000-0000-7000-8000-producer_lesson_rescheduled using read-only transactions against the production database resolved directly from Coaching's .env, avoiding the localhost override in .env.local. The database snapshot time was 2026-09-23T03:07:23.464Z. No production writes, event replay, cleanup, or backfill were performed.
Evidence and disposition
The production coaching.dispatcher_inbox_dedup table contains the exact event ID with type lesson.rescheduled. The local Delivery producer row identifies lesson les_01900000-0000-7000-8000-000000000301, organization org_01900000-0000-7000-8000-000000000001, and coach coa_01900000-0000-7000-8000-000000000601. Its requested new window is 2026-05-24 15:00 to 15:30 UTC, with reason operator_local_mesh_proof.
A production query by lesson ID across all organizations returned zero Coaching booking rows. A query for the exact coach ID also returned zero coach rows. The organization ID alone is not a safe synthetic-data selector: it matches 235 production booking rows, which must be preserved.
The inspected Coaching inbox handler dispatches this event only to updateBookingWindowFromReschedule. That function uses updateMany restricted by organization ID, lesson ID, and booking_kind = lesson; it updates the existing window and does not create a booking, coach, assignment, or outbound event. A missing booking is logged and acknowledged. This implementation and the absent target booking support no current booking cleanup or projection backfill being needed for this event. The receipt alone does not distinguish first processing from a duplicate acknowledgment, and this assessment does not claim historical before-and-after row evidence.
Keep the inbox dedup receipt. It preserves evidence and prevents processing the same event again. Its stored processed_at is 2026-09-23T12:40:06.658Z, later than the database snapshot clock; therefore this assessment does not use that timestamp to establish incident chronology. The null projection timing fields are expected for this lesson-lifecycle path, which records timing only for credit projection events.
Scope and remaining owner assessment
Coaching's disposition is no domain-data cleanup needed for the identified reschedule event. Platform's fanout containment should remain in place as requested; this finding does not accept the broader local proof or enable production completion charges.
Sales owns the 18 geography deliveries and the three failed intake attempts listed in the existing Platform request. Coaching does not take over Sales' production assessment or certify those attempts as harmless. Sales should respond on the existing incident thread with its own evidence and cleanup decision; the request is already published, so no duplicate request is opened.