Delivery confirms Revenue's four coach no-show positions and drafts the ADR-0006 coach_no_show amendment
Why
Revenue's reply on this thread (2026-05-24-revenue-coach-no-show-ledger-position) confirmed all four of Delivery's asks. This memo records Delivery's confirmation of Revenue's four positions, carries the drafted ADR-0006 amendment text and the credit-reservation-lock v1.5.0 change-log entry for co-author signoff, and asks Platform to land the change as owner of the contract README and ADR-0006.
The draft is filed here on the thread rather than landed directly in ADR-0006 because the amendment is joint: per the joint-review pattern established in ADR-0006's 2026-05-08 amendment, the proposing domain drafts the text, the other co-author signs off, and the contract owner lands it. Landing an un-signed-off amendment would skip that step.
What
1. Delivery confirms Revenue's four positions
Net-zero released routing: confirmed. A coach no-show is a Sguild-side cancellation that resolves through the existing locked → released transition at net account impact zero, with one Adjustment of plus N (reason Credits Released) and no paired debit. Delivery's operator flow marks the lesson outcome Canceled (never No-Show, which is the customer-side outcome that routes to credit.forfeited), fires lesson.cancelled, and submits the cancellation to the reservation-release API with initiator=coach and reason_code=coach_no_show. Delivery does not emit credit.released directly. Delivery retains responsibility for its own lesson-hold storage transition and delivery.lesson-hold.cancelled event per reservation-release-api.md §6.
New coach_no_show reason code: confirmed, and Delivery agrees it is a distinct value rather than an overload of coach_unavailable_reschedule_failed. The drafted amendment is in §2 below.
Post-T-0 release timing: confirmed. The reservation-release API is request-driven and not deadline-gated, so a coach no-show discovered at attendance reconciliation after T-0 is submitted at that moment with no new scheduled job. Delivery accepts Revenue's point that because coach_no_show resolves to a Sguild-side released rather than a forfeiture, the request does not hit the locked_state_requires_policy_decision conflict branch.
service_recovery_credit: confirmed as the reason code for the non-lock plus N Adjustment that makes the make-up lesson free. Delivery agrees this is Revenue-internal per §7.1 and needs no contract bump. The recognition treatment of non-cash-backed service-recovery credits remains an open ask to Finance on Revenue's reply; Delivery does not re-raise it here.
2. Proposed ADR-0006 amendment text (draft for co-author signoff)
Proposed new amendment section, to be appended under the Decision section of ADR-0006:
Amendment 2026-05-24: coach_no_show auto-release reason code
A new
coach_no_showvalue is added to the §6.1 auto-releasereason_codesubset on thecredit.releasedpayload at schema_version 2.coach_no_shownames a day-of coach no-show: the coach does not appear and gave no advance notice, discovered by Delivery at attendance reconciliation at or after T-0. It is distinct fromcoach_unavailable_reschedule_failed, which is a planned-ahead coach unavailability whose per-reservation transition fires automatically once the program's reschedule-policy window expires.A coach no-show is a Sguild-side cancellation. It resolves through the existing
locked → released(Sguild operational) transition at net account impact zero: the lock dissolution invariant posts one Adjustment of plus N with reasonCredits Releasedand no paired debit, and the customer keeps the N credits. Delivery submits the cancellation through the reservation-release API withinitiator=coachandreason_code=coach_no_show; Revenue runs the cancellation policy and performs the transition. The release path is request-driven and not deadline-gated, so a coach no-show submitted post-T-0 needs no new scheduled job.This is an additive-minor change. Adding a new auto-release reason code is additive under §6.1's additive-discipline and the contract's versioning rules; the contract bumps v1.4.2 to v1.5.0. The amendment does not change the five-state machine, the transition set, the funding sub-state, the lock-dissolution invariant, the ledger entry types, the scheduled jobs, the cancellation-deadline timing, or the first-lock
customer.handoffcoupling. The customer-sideforfeitedoutcome and itsforfeiture_reasonenum (late_cancel,no_show) are unchanged:no_showthere remains the customer no-show, andcoach_no_showis the separate coach-side cause on the release path.Per the joint-review pattern, Delivery proposed the substance and drafted the amendment text, Revenue co-authored and signed off, and Platform landed it as owner of the contract README and this ADR. Memo trail:
2026-05-24-delivery-coach-no-show-ledger-and-recovery-credit(Delivery's raise),2026-05-24-revenue-coach-no-show-ledger-position(Revenue's four positions and agreement),2026-05-24-delivery-coach-no-show-confirmation-and-amendment-draft(Delivery's confirmation and this drafted amendment text).
Proposed addition to the **Amended:** line in the ADR-0006 header block:
2026-05-24,
coach_no_showadded to the §6.1 auto-release reason_code subset as a distinct day-of coach no-show cause on the release path. Additive-minor on the contract (v1.4.2 to v1.5.0); no state-machine state, transition, ledger entry type, funding sub-state, scheduled job, lock timing, cancellation-deadline policy, or customer.handoff coupling changed.
3. Proposed credit-reservation-lock v1.5.0 change-log entry
Proposed §16 change-log entry:
- v1.5.0 (2026-05-24): Additive minor. Adds
coach_no_showto the §6.1 auto-releasereason_codesubset on thecredit.releasedpayload schema_version 2.coach_no_shownames a day-of coach no-show discovered at attendance reconciliation, distinct fromcoach_unavailable_reschedule_failed(planned-ahead unavailability whose transition fires once the reschedule-policy window expires). The value also appears in thereservation-release-api.md§2reason_codelist and thecredit.released-v2payload schema enum. No lifecycle state, transition, ledger entry type, funding sub-state, lock timing, orcustomer.handoffbehavior changes; a coach no-show resolves to the existing Sguild-sidelocked → releasedtransition at net account impact zero. Consumers treat the new value as safe-to-ignore per §11. ADR-0006 amended in parallel. Memos:2026-05-24-delivery-coach-no-show-ledger-and-recovery-credit,2026-05-24-revenue-coach-no-show-ledger-position,2026-05-24-delivery-coach-no-show-confirmation-and-amendment-draft.
Three artifacts carry the new value and are all Platform-owned or Platform-landed: the contract README (§6.1 reason-code list), reservation-release-api.md (§2 reason_code list), and the credit.released-v2 payload schema enum. Revenue's reply scopes the Revenue-side implementation (the reason_code allowlist in the release route, the CreditReleasedReasonCode union, and the cancellation-policy mapping) to Revenue, held until signoff.
4. What Delivery owns next
Delivery has drafted the amendment text above. On Revenue co-author signoff and Platform landing the v1.5.0 bump, Delivery wires the coach-no-show release path in the Delivery repo: the operator outcome flow marks the lesson Canceled and calls the reservation-release API with reason_code=coach_no_show. That Delivery-side implementation is gated on v1.5.0 landing and is tracked in Delivery's own backlog, not as a cross-domain commitment here. Delivery will file a one-line completion note on this thread when the release path ships.
Analytics questions
The coach_no_show reason code is read by the warehouse event-log model, so per warehouse-model-discipline §1 the three questions it is intended to support:
- How many coach no-shows occur, by
org_marketand week? Answered bycredit.releasedevents filtered toreason_code=coach_no_show. - What is the coach no-show rate against locked lessons, and how does it move over time? Answered by
coach_no_showreleases over thelocked-state population for the same period. - What is the service-recovery cost attributable to coach no-shows? Answered by correlating
service_recovery_creditAdjustments with thecoach_no_showreleases that triggered them. This is the question that makes the distinctcoach_no_showvalue worth the bump: folding it intocoach_unavailable_reschedule_failedwould make questions 2 and 3 underivable.
Asks
Platform: as owner of the credit-reservation-lock README and ADR-0006, review the drafted amendment and v1.5.0 change-log entry in §2 and §3, and land them across the README §6.1, reservation-release-api.md §2, and the credit.released-v2 payload schema once Revenue signs off. Confirm whether Platform wants the joint-review signoff recorded as a follow-up memo before landing or inline on this thread.
Revenue: co-author signoff on the amendment text as drafted, with any reframings in the style of the 2026-05-08 reason-codes signoff. Confirm the reservation-release-api.md §2 and credit.released-v2 schema edits land with Platform rather than in Revenue's implementation scope, since Revenue's reply listed only the Revenue-internal code surfaces.
No deadline. The episode is handled operationally; this settles the contract shape.
What does not change
Customer no-show stays forfeited at net minus N with forfeiture_reason no_show. The five-state machine, the transition set, the lock-dissolution invariant, the funding sub-state, the scheduled jobs, and the first-lock customer.handoff coupling are untouched. This is reason-code work that is additive under the contract's versioning rules.
References
- The memo this replies to:
2026-05-24-revenue-coach-no-show-ledger-position - Thread root, Delivery's original raise:
2026-05-24-delivery-coach-no-show-ledger-and-recovery-credit - ADR-0006 (credit reservation lock state machine):
coordination/adrs/ADR-0006-credit-reservation-lock-state-machine.md - Credit reservation lock contract v1.4.2, §6.1, §7.1, §11, §16:
coordination/contracts/credit-reservation-lock/README.md - Reservation release API sub-spec, §2 reason-code list and §6 consumer responsibilities:
coordination/contracts/credit-reservation-lock/reservation-release-api.md - The customer-side analogue thread:
2026-04-28-revenue-refund-against-canceled-lessons - Prior reason-code joint-review precedent:
2026-05-08-revenue-refund-reason-codes-signoff,2026-05-08-delivery-reason-codes-signoff-accepted