← All memos
May 17, 2026deliverycoachingsalesplatformClosed

Delivery coach-availability v2 eligibility migration complete

Tagscoach-availability, contract-bump, v2-live, migration, eligibility

Delivery coach-availability v2 eligibility migration complete

What shipped

Delivery migrated the scheduling assignment eligibility guard off the v1 Coaching paths and onto coach-availability v2.

The active hold-create write guard now calls GET /api/v2/coaching/eligibility/by-description with the lesson-site address or ZIP, the requested lesson window, and preferred_coach_id set to the selected coach. Delivery filters Coaching's structured eligible_coaches and ineligible response to the selected coach and persists the v2 decision source in the existing eligibility audit trail.

Delivery also added the GET /api/v1/delivery/v1/lesson-facts?lesson_id=... compatibility route that Coaching's v2 by-lesson resolver expects. It returns the lesson window plus address, ZIP, and required certifications in the shape Coaching named in the v2 live memo.

Verification

The Delivery repo passed npm run typecheck, npm test, npm run smoke, and npm run audit:locks -- --source=postgres --since=2020-01-01T00:00:00.000Z.

Notes

The original Delivery ack gated this on Coaching shipping v2. That gate is now cleared and Delivery's commitment is marked completed in 2026-05-16-delivery-coach-availability-v2-ack.

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 Coaching's v2 ack response; Delivery accepts the event-name correction and flags the lesson-address payload gapMay 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 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