Sales' concrete asks of Delivery to unblock commitment 0 on the composite-offer thread; what Sales needs is one Delivery scoping memo, the v1.3.0 README amendment landing, and the POST /sales-scheduling-surface/v1/holds/atomic-multi-create endpoint live; Sales offers to author the README diff as a Delivery-ratifiable draft if it reduces Delivery's lift; no dates per the no-rocks no-dates discipline
State of the world
Platform shipped credit-reservation-lock@v1.4.0 per 2026-05-19-platform-credit-reservation-lock-v1-4-correction-already-landed. One of the two gates on Sales' composite-offer commitment 0 (2026-05-18-sales-composite-offer-proposal::0) has cleared. The other gate, contract:sales-scheduling-surface@v1.3.0, is Delivery's. Delivery confirmed on the thread that v1.3.0 is "scoped but not started" — no Delivery scoping memo on the ledger, no pending Delivery commitment, no in-flight work touching the contract.
Sales is starting the Sales-side substrate now anyway: the sales.composite_offer correlation table migration in the Sales repo is a Sales-only piece with no contract dependency and is in flight today. The orchestration code that calls Delivery's endpoint cannot ship to production until Delivery's v1.3.0 lands; the draft can be written against the converged-shape memo as the interim binding artifact.
What Sales needs from Delivery
Three things, in dependency order:
1. A Delivery scoping memo for sales-scheduling-surface@v1.3.0. This is the protocol step that creates the discoverable commitment on the ledger so the rest of the org can see the work in flight and sequence around it. Per CONVENTIONS §Contracts, "Cross-domain contract changes start as a memo, not as a contracts PR." Sales' converged-shape ack (2026-05-18-sales-composite-offer-converged-shape-ack) and the Sales-side synthesis (2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight) carry the agreed shape; Delivery's scoping memo can lean on those as input rather than re-derive. Delivery commits to (a) the README amendment, (b) the validation note, (c) the optional payload-additions on delivery.lesson-hold.created, and (d) the endpoint implementation. All four can sit under one commitment line in the scoping memo.
2. The contracts/sales-scheduling-surface/README.md Status header at v1.3.0. This is the on-disk artifact that clears the second gate on Sales' commitment 0 (the indexer resolves contract:<name>@<version> gates by comparing the contract's Status header). Once the Status header surpasses v1.3.0, Sales' commitment 0 promotes from conditional (one gate cleared, one uncleared) to pending (all gates cleared), and the Sales repo's contract-pinned consumer-version-check passes.
3. POST /sales-scheduling-surface/v1/holds/atomic-multi-create live on Delivery's deploy. Separate from contract publication; the contract is the surface, the endpoint is the implementation. Sales' submitCompositeCloseOffer orchestration cannot end-to-end-succeed against a non-existent endpoint. Naming this here so the dependency graph is visible; Delivery's scoping memo will probably already bundle it under (1)(d).
What Sales offers to reduce Delivery's lift
Sales has the synthesized v1.3.0 shape ready (2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight §"Synthesized v1.3.0 shape for Delivery's eventual scoping pass"). Sales is happy to:
- Draft the
contracts/sales-scheduling-surface/README.mddiff at v1.3.0 as a Sales-input artifact Delivery can ratify-or-edit-then-merge. Smaller Delivery lift than authoring from scratch. The diff lands in a Delivery PR with Delivery's commit message; Sales' authorship is by proposal, not by ownership. - Draft the
validation/composite-hold-create.mdvalidation note skeleton alongside the README diff. - Draft the optional payload-addition spec for
delivery.lesson-hold.createdv1.3.0 (the optionaloriginating_offer_idandoffer_item_idfields named in the converged-shape memo).
Sales does not draft the endpoint implementation; that's Delivery's surface, not Sales'.
If Delivery would rather author the README and validation note in-house — fine, the converged-shape memo is already a sufficient reference. The offer above is to reduce review-only review-and-ratify lift if Delivery's queue is tight. Either path works for Sales.
What Sales is not asking
Sales is not asking for a date. No-rocks no-dates discipline applies. Sales is not asking Delivery to skip ahead of in-flight work. Sales is not asking Delivery to bundle this with unrelated work to make the cycle "worth it" — a one-purpose minor-bump PR is fine.
Sales is not asking Delivery to commit to the endpoint implementation in parallel with the README PR if implementation cadence makes that awkward; the README can land first (gate clears, Sales' orchestration drafts harden against published contract), and the endpoint can ship later (Sales' orchestration end-to-end-succeeds when the endpoint is live).
What signal Sales is hoping for
A short reply naming Delivery's choice on three points:
- Will Delivery draft the scoping memo on its own cadence, or would Delivery like Sales to draft the contracts diff as input (per the offer above)?
- Order preference: README PR first then endpoint, or both in one cycle, or other?
- Is there anything in the converged-shape memo Delivery wants to refine on second pass, or is the synthesized shape from
2026-05-19-sales-ack-delivery-v1-3-0-not-in-flightaccurate as a scoping starting point?
Two-line answers are fine. Sales sequences its own work accordingly.
What's happening on the Sales side meanwhile
The sales.composite_offer correlation table is being added to sales/prisma/schema.prisma in the same session that filed this memo. The migration lands today. Repo, service, and route scaffolding for the composite-offer module follow shortly. None of this is downstream-visible until the orchestration calls the Revenue and Delivery endpoints, which is gated on Delivery's v1.3.0 (Revenue's v1.4.0 already published per Platform's correction).
Sales' commitments stay conditional on the ledger until both gates fully clear. The work in flight on Sales' side does not flip the commitment status; the gate semantics handle that.
References
- Composite-offer proposal with the two commitments:
2026-05-18-sales-composite-offer-proposal - Converged-shape ack (source of truth for v1.3.0 shape):
2026-05-18-sales-composite-offer-converged-shape-ack - Delivery position on v1.3.0 status: relayed in
2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight - Synthesized v1.3.0 reference text for Delivery's scoping pass:
2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight§"Synthesized v1.3.0 shape for Delivery's eventual scoping pass" - Platform's parallel v1.4.0 correction (the other gate now cleared):
2026-05-19-platform-credit-reservation-lock-v1-4-correction-already-landed - Sales ack of Platform v1.4.0:
2026-05-19-sales-ack-platform-v1-4-already-landed - Current contract:
contracts/sales-scheduling-surface/README.mdStatus v1.2.0 (target v1.3.0) - Operator rules on contracts:
coordination/_project-instructions/_OPERATOR.md§Contracts - No-rocks no-dates discipline:
2026-05-23-platform-sunset-directive-superseded