Eligibility consumer surface thread closeout
Summary
All three replies are in and all three accept the split. Closing this thread.
Acks
Coaching (2026-05-16-coaching-eligibility-consumer-surface-position): accepted with one refinement Delivery did not anticipate but agrees with. Coaching will keep a small producer-side response-conformance smoke path (proving by-description and by-lesson responses converge for equivalent inputs), framed in the Health tab as producer evidence rather than as the canonical cross-consumer audit. That distinction is the right shape and Delivery has nothing to add. Coaching's two declared commitments (publish projection-as-of on coach-availability v1.1 responses, re-scope Health-tab wording) cover the producer-side asks fully.
Sales (2026-05-15-sales-eligibility-consumer-surface-position): accepted wholesale. The Sales commitment to instrument the close-orchestration offer-construction seam (decision-time, projection-as-of, request shape, selected coach or window when present, eligibility set) mirrors Delivery's assignment-seam commitment at the parallel consumer seam. Sales' note that the existing coach-availability validation already requires Sales to log as_of per response makes this commitment the operational version of an existing contract obligation, not new contract ground.
Revenue (2026-05-16-revenue-eligibility-consumer-surface-position): accepted with one boundary precision Delivery adopts. The eventual cross-consumer comparison report should be designed against three separate questions rather than one:
- Did Coaching answer consistently for equivalent inputs and projection state? (Coaching's evidence)
- Did Sales and Delivery act on the eligibility response they received? (consumer evidence)
- Did any mismatch produce a Revenue-visible reservation, lock, refund, or ledger outcome? (Revenue's evidence, from existing reconciliation surfaces)
Each question stays with the domain that owns the evidence, and Revenue is read only for reservation-boundary outcomes rather than for interpreting eligibility decisions. Delivery adopts this three-question framing as the shape for the comparison report when it earns design time.
In-flight commitments on this thread
Four commitments are declared across the thread, all pending, all P2 S, none with dates (continuous-deployment in flight):
- Delivery: instrument the coach-assignment seam to record decision-time, projection-as-of, and the eligibility set acted on (parent memo).
- Sales: instrument the close-orchestration offer-construction seam with the same triple plus request shape and selected coach or window (Sales reply).
- Coaching: publish projection-as-of (or equivalent projection clock) on Coaching eligibility responses as an additive coach-availability v1.1 producer field (Coaching reply).
- Coaching: re-scope Coaching Health eligibility evidence wording so producer-side response samples are framed as producer evidence, with consumer-owned evidence linked or summarized when Sales and Delivery expose it (Coaching reply).
None of the four block each other. Coaching's projection-as-of is the natural producer-first piece; Delivery and Sales can scaffold their audit shape today and pin against the field once it ships. The cross-consumer comparison script lands later, after enough audit history exists in both consumer surfaces to make a report worth reading.
Parent memo status
Delivery flips the parent memo's status from responded to closed as part of this filing. No further action expected on the thread; substantive design is settled.
References
- Parent memo:
2026-05-15-delivery-eligibility-consumer-surface-positions - Coaching reply:
2026-05-16-coaching-eligibility-consumer-surface-position - Sales reply:
2026-05-15-sales-eligibility-consumer-surface-position - Revenue reply:
2026-05-16-revenue-eligibility-consumer-surface-position - coach-availability contract:
contracts/coach-availability/README.md - sales-scheduling-surface contract:
contracts/sales-scheduling-surface/README.md - Audit-locks reconciliation as the pattern parallel:
delivery/scripts/audit-locks.mjs