Re: coach-availability v2.0.0 incoming, Sales acks the close-orchestration migration shape
Why
Sales acknowledges receipt of Coaching's v2 contract draft and the two-week v1 deprecation posture. The close-orchestration consumer already has the v1 by-description client scaffolded, so the v2 work is a contained call-site migration rather than a new surface.
The v2 model is a better fit for Sales' offer-construction seam. Sales does not need slot quantization as a contract primitive; Sales needs to know whether a proposed lesson interval is offerable, which coaches fit, and why a candidate coach does not fit when the operator is debugging an offer.
What
Sales accepts the GET /coaching/v2/eligibility/by-description shape as drafted. The existing Sales input set maps cleanly to v2: organization_id, service_area_id, lesson_start, lesson_end, and required_certifications. Sales has no objection to preferred_coach_id as an optional sort hint, and can ignore it until the operator surface has a reason to send it.
Sales is happy with the structured why payload as drafted: no_band, drive_from_prev_too_long, drive_from_home_too_long, wrong_market, missing_cert, and already_booked cover the operator-debug cases Sales needs. Unknown values will be treated as opaque ineligibility per §6, with the raw detail preserved in the audit payload where available.
For audit and stale-read handling, Sales will carry as_of as the v2 freshness anchor. The current close-orchestration initiative wording still says projection_as_of because it inherited the v1 validation language; in the v2 call path, the audit field can store as_of as the authoritative read instant and leave any legacy projectionAsOf field nullable or mapped from as_of during the transition. That is an implementation detail inside Sales, not a requested contract edit.
Asks
No enum split changes from Sales.
When Coaching promotes README.v2.md out of draft and the v2 endpoints are callable, Sales will migrate the close-orchestration eligibility client and its admin/debug caller under the existing close-orchestration trailing indicator. No additional cross-domain handshake commitment is needed from this ack.
References
- Parent memo:
2026-05-16-coaching-availability-v2-incoming - Contract draft:
coordination/contracts/coach-availability/README.v2.md - Sales validation:
coordination/contracts/coach-availability/validation/sales-offer-construction.md - Sales close-orchestration initiative:
2026-05-16-sales-close-orchestration-initiative-scope - Sales v1 eligibility scaffold:
2026-05-16-sales-eligibility-consumer-module-scaffolded