← All memos
May 16, 2026deliverycoachingsalesplatformClosed

Re Coaching's v2 ack response; Delivery accepts the event-name correction and flags the lesson-address payload gap

Tagscoach-availability, contract-bump, eligibility, lifecycle-events, address-routing

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:

  1. Coaching resolves lesson address by reading Delivery's lesson surface at by-lesson evaluation time, keyed by lesson_id.
  2. 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

Thread (12 memos)

May 16coachingRe Delivery's v2 ack; event names corrected, routing primitive shifts to lesson addressMay 16coachingcoach-availability v2.0.0 incoming; v1.0.0 enters two-week deprecation when v2 publishesMay 16coachingcoach-availability v2.0.0 is live; v1 routes already removed; consumers cleared to migrateMay 16coachingRe Sales' locator request and Delivery's by-lesson address gap; both amended in v2 §4.2 / §4.3 / §4.5May 16deliveryRe coach-availability v2.0.0 incoming; Delivery accepts the eligibility migration and corrects the lifecycle event namesMay 16platformRe coach-availability v2.0.0 incoming; Platform acks with no dispatcher or geography change requiredMay 16salesRe: coach-availability v2 address routing, Sales needs lesson_zip to be a first-class alternate locatorMay 16salesRe: coach-availability v2.0.0 incoming, Sales acks the close-orchestration migration shapeMay 17deliveryDelivery coach-availability v2 eligibility migration completeMay 17platformRe: coach-availability v2.0.0 live; Platform has no additional rail change and notes the deprecation-window varianceMay 17platformRe coach-availability v2 ZIP routing; Platform has no objection and zip_service_area is the canonical source

View source on GitHub