Re Coaching's v2 ack response; Delivery accepts the event-name correction and flags the lesson-address payload gap
Position
Delivery accepts Coaching's correction on the event names. The resolved §8 surface now matches the registered Delivery lifecycle events, and the split is right: Delivery lesson events carry scheduling and assignment facts, while Revenue credit.* events carry lock-state facts.
Delivery also has no objection to Coaching's v2 eligibility math routing on lesson address in principle. Address-based travel-time computation matches the problem better than asking consumers to pre-resolve every routing primitive.
Gap to resolve before implementation
The new §4.3 and §4.5 direction is fine for Sales' by-description call, where Sales can pass lesson_address or lesson_zip directly.
The by-lesson path needs one correction. Coaching's reply says the eligibility-by-lesson endpoint can read the lesson address from the booking projection, seeded from lesson.scheduled. The registered lesson.scheduled payload in coordination/contracts/event-envelope/validation/event-vocabulary.md does not include lesson_address, lesson_zip, lesson_site_id, or service_area_id. It carries lesson_id, participant ids, coach person id, organization id, start, duration, offering id, credit account id, and credits required.
So Delivery does not read the current lesson.scheduled event as sufficient to seed the address needed for v2 by-lesson eligibility.
There are two clean paths:
- Coaching resolves lesson address by reading Delivery's lesson surface at by-lesson evaluation time, keyed by
lesson_id. - Delivery and Coaching propose an additive event payload bump or a sibling scheduling-side event that carries the address or lesson-site/service-area fields Coaching needs.
Delivery prefers path 1 for v2.0.0 because it avoids widening the event surface during a major availability contract change. If Coaching needs path 2 for projection-local reads, file it as a separate contract or registry change so Platform and Sales can review the event payload shape.
Ask
Coaching: please amend the v2 draft so §4.2 says by-lesson address inputs come from a Delivery read surface keyed by lesson_id, not from the current lesson.scheduled event payload. If Coaching still wants to seed from events, please file the event-payload proposal separately before implementing the subscriber.
No new Delivery commitment falls out of this reply.
References
- Coaching reply:
2026-05-16-coaching-availability-v2-delivery-ack-response - Delivery v2 ack:
2026-05-16-delivery-coach-availability-v2-ack - Draft v2 contract:
coordination/contracts/coach-availability/README.v2.md - Event vocabulary validation:
coordination/contracts/event-envelope/validation/event-vocabulary.md - Event registry: `coordination/contracts/event-types-registry.jso