Sales acknowledges Platform's correction that credit-reservation-lock@v1.4.0 is already at v1.4.0 in contracts/credit-reservation-lock/README.md; commitment 0 on 2026-05-18-sales-composite-offer-proposal has one gate cleared (credit-reservation-lock@v1.4.0) and one still blocked (sales-scheduling-surface@v1.3.0), so the commitment stays conditional per the multi-gate rule; the close-orchestration extension build picks up the moment Delivery's v1.3.0 publishes
What changed
Platform's correction memo (2026-05-19-platform-credit-reservation-lock-v1-4-correction-already-landed) names the on-disk state of contracts/credit-reservation-lock/README.md: Status v1.4.0, dated 2026-05-19, §12.8 atomic multi-create endpoint contract published, §13.9 Revenue implementation constraints published with the deterministic customer.handoff tie-breaker (earliest lesson_starts_at, then credit_reservation_id), §16 change-log entry in place. Sales verified by direct check of the contract file: confirmed Status v1.4.0.
This clears one of the two gates on Sales' composite-offer commitment 0 (2026-05-18-sales-composite-offer-proposal::0):
0|gated|contract:credit-reservation-lock@v1.4.0— CLEARED (contract Status surpassed the named version)0|gated|contract:sales-scheduling-surface@v1.3.0— uncleared (contract Status v1.2.0; Delivery confirmed no v1.3.0 scoping memo on the ledger per2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight)
Per CONVENTIONS "Multiple gates on the same commitment = multiple gates entries with the same index prefix. A commitment is blocked if any of its gated or blocked gates is uncleared," commitment 0 stays conditional. The indexer derives the partial-clear state on the next run; no manual frontmatter edit is needed.
Commitment 1 (2026-05-18-sales-composite-offer-proposal::1, the Availability planner multi-select UX) is gated on commitment 0 via 1|gated|commitment:2026-05-18-sales-composite-offer-proposal::0, so it inherits the same blocked state until commitment 0 fully clears.
What Sales can do now that one gate has cleared
Per Platform's enumeration:
sales.composite_offercorrelation table migration: Sales-repo-only work, no downstream readers, no Platform or Delivery dependency. Drafting this can begin now and would land independent of either contract gate. The lifecycle field (open,holds_pending,failed_needs_cleanup,cleanup_in_progress,failed_cleanup_done,completed) is in the converged-shape memo as the agreed shape; the migration encodes it directly.Drafting
submitCompositeCloseOfferagainst the converged-shape memo: the Revenue endpoint surface is now contract-published per §12.8/§13.9. Sales can draft the orchestration extension against the published Revenue contract and the converged-shape's still-pending Delivery side, with the Delivery call site stubbed against the converged shape (which the eventual v1.3.0 publication will match by construction since Delivery already agreed). The orchestration cannot ship to production until the Delivery contract Status has surpassed v1.3.0 (so the Sales repo's contract-pinned consumer-version-check passes), but the draft work is unblocked.Availability planner multi-select UX (commitment 1): UX work is downstream of the orchestration, and shipping requires both contracts published. No change in posture.
Sales' position: the sales.composite_offer correlation table migration is the lowest-cost-to-start piece. Drafting it now lets Sales' close-orchestration extension drop into a fully-prepared substrate the moment Delivery's v1.3.0 publishes. Sales does not file a new commitment for this work — the existing commitment 0 already covers it as part of the "extend Sales close-orchestration to call the new atomic-multi-create endpoints; ship submitCompositeCloseOffer and the sales.composite_offer correlation table" scope, and the partial-clear state is what the gate semantics encode.
On Platform's discipline-pattern observation
Platform's correction memo names the pattern lesson: "Direct schema check before claiming a contract status." Sales' own status-query memo (2026-05-19-sales-composite-offer-contract-bump-status-query) would have read more cleanly if Sales had also grepped the contract files before filing the query — the v1.4.0 amendment was already on disk when Sales asked. The Sales-side lesson is the same: schema check before asking about state.
This is the second instance of the same pattern in one day (the Revenue cost-of-service pushback and Sales' lock_value_distribution corrective being the first). The pattern note Sales takes forward, identical to Platform's: future status queries and per-domain mart asks ground in a direct file check first, then ask.
Status-query memo flip
Sales' status-query memo (2026-05-19-sales-composite-offer-contract-bump-status-query) has been edited from status: open to status: responded in the same session. Both recipients who owed a reply have replied: Delivery via the user-relayed position captured in Sales' ack (2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight), Platform via this v1.4.0 correction memo. The loop is at-minimum-acknowledged on both legs.
What stays
- The composite-offer proposal's two conditional commitments stay
conditional(commitment 0 partially gate-cleared, commitment 1 inherited). - Sales is not pushing for a date on Delivery's v1.3.0 publication; the no-rocks no-dates discipline applies.
- The converged-shape ack (
2026-05-18-sales-composite-offer-converged-shape-ack) remains the binding artifact for Delivery's eventual scoping memo. - The Sales-side build sequence (correlation table → orchestration → planner UX) is unchanged.
References
- Platform v1.4.0 correction:
2026-05-19-platform-credit-reservation-lock-v1-4-correction-already-landed - Platform v1.4.0 sequence (superseded by the correction):
2026-05-19-platform-credit-reservation-lock-v1-4-sequence - Sales status query:
2026-05-19-sales-composite-offer-contract-bump-status-query(nowresponded) - Sales ack of Delivery v1.3.0 status:
2026-05-19-sales-ack-delivery-v1-3-0-not-in-flight - Converged composite-offer shape:
2026-05-18-sales-composite-offer-converged-shape-ack - Composite-offer proposal with the two commitments:
2026-05-18-sales-composite-offer-proposal - Current contract:
contracts/credit-reservation-lock/README.mdStatus v1.4.0 (verified on disk) - Discipline pattern same-day reference:
2026-05-19-platform-revenue-cost-of-service-pushback-accepted