Platform stewards the hold-sequencing decision
Yes, this is an ADR-level decision, and Platform takes it. It is a cross-cutting ordering decision spanning three contracts owned by three domains (sales-ordering-surface owned by Revenue, sales-scheduling-surface owned by Delivery, credit-reservation-lock owned by Platform with Revenue implementing), it touches the ADR-0006 lock state machine, and there is more than one viable architecture with materially different surface shapes. That is coordination-ADR territory, and Platform already owns one of the three contracts in the loop, so stewarding it is squarely Platform's.
The decision
The question the ADR settles: where does the lesson-create-versus-reserve ordering live across the three surfaces, now that sales-ordering-surface v2.1.0 moved the reservation mint inside the committed close. Three options.
Option A, reservation-less soft hold (Sales' candidate). Delivery adds a way to create-and-hold a lesson on sales-scheduling-surface without a prior reservation, with a defined soft-hold lifecycle and expiry; Sales calls it to get first_lesson_id; the v2.1.0 close then mints the reservation and binds and locks it to that pre-held lesson. Smallest change consistent with v2.1.0's already-ratified reserve-fund-lock-inside-the-close shape, and it keeps lesson identity Delivery-owned. Cost: a sales-scheduling-surface minor (the reservation-less hold plus the soft-hold lifecycle) and a credit-reservation-lock or close bind step.
Option B, the close creates the Delivery hold. The close takes lesson parameters and orchestrates the lesson-create internally rather than Sales pre-holding. This re-opens v2.1.0 §4.1 (first_lesson_id stops being a Sales-pre-held input and becomes lesson parameters the close consumes), a contract change to a surface ratified days ago, and it pulls lesson-create orchestration into Revenue's close.
Option C, revert the v2.1.0 inversion. Go back to reservation-create before hold-create: Sales reserves, holds against that reservation, then calls a close that takes an existing reservation plus lesson. This unwinds the ratified "close mints the reservation" decision that ADR-0032 and v2.1.0 built on.
Platform's lean
Option A, conditional on Delivery confirming the soft hold is feasible. It is the only option that does not re-open a just-ratified contract decision, it keeps lesson identity Delivery-owned, and it confines the reservation-to-lesson binding inside the close where v2.1.0 already puts the reserve, fund, and lock mechanics. Options B and C both unwind ratified work to reach the same end. So Platform's recommendation is A unless Delivery surfaces a reason the soft hold cannot exist, in which case the fallback is C (a clean revert) over B (a partial re-open of a fresh contract).
Platform's own piece is feasible
On the credit-reservation-lock half, which is Platform's contract: minting a reservation and locking it to a pre-existing soft-held lesson is expressible as a reorder of the existing semantics, where the les_ already exists when the lock binds rather than the lesson and lock being produced together. It needs no new lock state in the ADR-0006 machine; the lock still moves reserved to locked and binds to a lesson id, the only change is that the lesson id pre-exists. Platform owns and will land that contract step (a credit-reservation-lock minor, or a sales-ordering close-step spec, decided in the ADR). So Platform's half of Option A is confirmed feasible from the contract side.
What the ADR needs to finalize
Two load-bearing inputs, which is why Platform is not drafting the decision text yet: the answer to the first determines the option.
Delivery: is a reservation-less soft hold feasible on sales-scheduling-surface, create-and-hold a les_ without a reservation_id, and what is its lifecycle: does it protect the slot, when does it expire if the close never lands, and how is an abandoned soft hold reclaimed. This is the gating fact for Option A and the critical path for Sales' blocked consumer build.
Revenue: confirm the v2.1.0 close will bind the minted reservation to the pre-held lesson rather than expecting the lesson to arrive any other way, and that the close keeps minting the reservation (so the question really is only how first_lesson_id comes to exist before it).
Sequencing
Once Delivery confirms soft-hold feasibility and its lifecycle, and Revenue confirms the close-bind, Platform drafts and files the coordination ADR recording the chosen ordering, the soft-hold lifecycle, and the bind step, for Revenue, Delivery, and Sales to ack. Platform is deliberately not drafting it ahead of Delivery's feasibility answer, since that answer picks the option. Sales' committed-close consumer build stays blocked on this, so Delivery's feasibility reply is the thing to unblock first.
References
Gap memo: 2026-06-02-sales-ordering-close-hold-sequencing-gap. Contracts: sales-ordering-surface v2.1.0 §4.1, sales-scheduling-surface v1.9.0 (hold-create requires reservation_id), credit-reservation-lock (Platform-owned; the reserve and lock state machine). Related: ADR-0006 (lock state machine), ADR-0025 (Person-keyed pre-handoff reservations), ADR-0032 (the committed-close shape), ADR-0029 (cross-discipline ownership).