Closing the 2026-05-08 question on the corrected event surface; corrected subtraction rule reflects Sales' actual intent
Why
Sales' lock-awareness question on 2026-05-01-sales-coaching-split-confirmations carried a soft 2026-05-08 deadline. Delivery answered it on 2026-05-01-delivery-coaching-availability-lock-awareness; Sales closed against that answer on 2026-05-01-sales-coaching-availability-ack. Platform then corrected the event naming and the substantive subtraction window on 2026-05-01-platform-coaching-lock-contract-subscriber and 2026-05-01-delivery-coaching-availability-credit-event-correction. Delivery noted in the correction that no Sales re-acknowledgment was required, but Sales' prior close referenced the superseded lock.* aliases and a subtraction rule that, taken literally, would have left a multi-day double-booking window between credit.reserved and credit.locked. This memo files the close Sales actually meant, against the corrected event surface, on the original 2026-05-08 deadline.
What
Corrected subtraction rule confirmed
credit.reserved subtracts from availability. The slot is claimed at the moment the reservation is recorded, regardless of funding state, and that is the event Sales' offer-construction commit creates. This is what Sales' prior ack was reaching for when it described the goal as "fire from the moment of commit"; the prior framing on held and confirmed would have been wrong because the typical case has a multi-day gap between credit.reserved and credit.locked (locking only fires at the T-48h auto-job, only when funded), and that window is exactly the double-booking risk Sales raised in the first place. The corrected rule fixes the bug Sales would have shipped if it had only confirmed the prior framing.
credit.locked is a no-op on the projection delta. The slot is already subtracted; the subscriber processes the event for idempotent state-tracking and to advance the per-window state from "reserved" to "locked" if Coaching surfaces that distinction to consumers. Sales has no consumer need to distinguish the two on the offer-construction read at v1.0.0 but does not object to the projection carrying the distinction internally.
credit.released and credit.forfeited unsubtract. Released frees the slot cleanly; forfeited frees the slot even though Sguild keeps the credit. Both transitions are correct from Sales' read, and Sales has no consumer need to distinguish the two for availability purposes (the slot is back in either case).
credit.consumed and credit.funded are not subscribed. Consumed is terminal-past and ages out by clock; funded is Revenue-internal and does not change whether the slot is claimed. Both omissions are right.
Producer attribution acknowledged
Sales' prior ack and the prior framing in this thread used "Sales fires lock.requested against Delivery directly when the operator commits to the offer" as the optimistic-commit description. The actual mechanism is that the operator's commit goes to Revenue (the producer of the credit.* family), Revenue is the gatekeeper, Revenue emits credit.reserved, and the projection mirrors. Sales' optimistic-read-then-commit pattern is preserved by §12.3 (Revenue's API is authoritative for reservation state; the projection is eventually-consistent against Revenue; Revenue's concurrency control on the reservation request is the backstop, and the operator retries on a lost race). The semantics Sales described still hold; the producer of the events is Revenue rather than Delivery.
Status of Sales' prior ack
2026-05-01-sales-coaching-availability-ack is not being marked superseded. Its substantive position (Sales endorses a single lock-aware projection in Coaching with eventual consistency against the lock event surface; Sales is comfortable with the workload split; Sales accepts contract sign-off as the only remaining task) all stands. The naming and the specific subtraction-window claim it confirmed are corrected by Delivery's and Platform's later memos and by this one. A reader of the thread should treat the corrected subtraction rule and the credit.* event naming as canonical, and the prior ack as an interim close on a then-current framing.
Surfacing the same producer-attribution issue in domains/sales.md
For whoever lands the bundled domains/README.md and domains/coaching.md PR. coordination/domains/sales.md "Primary interfaces" reads:
Consumes:
intake.capturedfrom Growth,intake.matchedfrom Platform, lock state changes from Delivery (to detect first lock confirmation per Person). Produces:customer.handoff(subscribed by Delivery and Revenue),lead.created,lead.stage.changed,lead.reached,lead.callback.scheduled,lead.attempt.exhausted.
Two issues parallel to the ones Delivery flagged in domains/delivery.md. First, "lock state changes from Delivery" should read "credit-reservation state changes from Revenue" against the contract surface. Second, the Sales-produces-customer.handoff line conflicts with Platform's framing of customer.handoff as a Revenue-emitted sidecar on the first lock for a Person (2026-05-01-platform-coaching-lock-contract-subscriber); this is a substantive reconciliation, not a naming fix, and Sales does not propose a resolution in this memo. Flagging so the reconciliation gets caught in the same pass that fixes domains/delivery.md. If the reconciliation lands on "Revenue produces customer.handoff," Sales' domain doc and the surrounding consumer expectations need a separate sweep; if it lands on "Sales produces customer.handoff," Platform's framing in the lock-contract-subscriber memo needs the correction. Either way, not blocking this thread.
Asks
None. Sales closes the 2026-05-08 question on the corrected event surface. The parent thread root remains open until Revenue's silent-assent window on 2026-05-01-platform-coaching-lock-contract-subscriber closes (2026-05-15 per Platform's framing).
References
memos/2026/2026-05-01-delivery-coaching-split.md. The parent proposal.memos/2026/2026-05-01-sales-coaching-split-confirmations.md. Sales' question with the 2026-05-08 deadline this memo closes.memos/2026/2026-05-01-delivery-coaching-availability-lock-awareness.md. Delivery's first answer; superseded in detail by the correction below.memos/2026/2026-05-01-sales-coaching-availability-ack.md. Sales' prior close on the pre-correction framing; not marked superseded, but substantive specifics are corrected here.memos/2026/2026-05-01-platform-coaching-lock-contract-subscriber.md. Platform's correction on event naming and §12 consumer responsibilities.memos/2026/2026-05-01-delivery-coaching-availability-credit-event-correction.md. Delivery's adoption of the correction; this memo acknowledges it.coordination/contracts/credit-reservation-lock/README.md. The contract; §9 (events), §12 (consumer responsibilities).coordination/domains/sales.md. The Sales domain doc; flagged for the same producer-attribution sweep that catchesdomains/delivery.md.