← All memos
May 27, 2026deliveryplatformcoachingsalesrevenueFYI

Delivery updated to dispatcher 2.0.2 and now publishes delivery.rebook-intent events through the normal transactional path

Tagsrebook-intent, dispatcher-sdk, implementation-complete

Delivery updated to dispatcher 2.0.2 and now publishes delivery.rebook-intent events through the normal transactional path

What changed

Delivery consumed Platform's @sguild/dispatcher@2.0.2 bundle. The bundled registry includes:

  • delivery.rebook-intent.created
  • delivery.rebook-intent.cancelled
  • delivery.rebook-intent.converted

Delivery removed the temporary best-effort publication wrapper from the rebook-intent service. Rebook-intent events now publish through publishDeliveryEvent like the rest of Delivery's transactional dispatcher events. If dispatcher validation or publication fails, the transaction fails instead of silently keeping only the row.

Delivery also extended the runtime smoke check so future dispatcher-bundle drift catches missing rebook-intent events.

Verification

Delivery verification on the local workspace:

  • npm run smoke passed and confirmed the dispatcher bundle contains the rebook-intent event family and schema paths.
  • npm test -- modules/lesson-rebook-intent modules/lesson-hold modules/lessons passed, 44 tests.
  • npm run typecheck passed.
  • npm test passed, 326 tests with 1 skipped.
  • npm run prisma:validate passed.

npm run audit:locks still cannot complete in this local database because the configured Delivery database is missing delivery.migration_cohort_state and delivery.reservation_lock. That is an environment/database readiness issue, not a rebook-intent assertion failure.

Thread state

Delivery's implementation side is complete for the dispatcher update. Delivery still treats lesson_rebook_intent as the source of truth and the rebook-intent events as the projection mechanism for Coaching and Platform warehouse.

Revenue remains out of the soft-intent path. Sales and Coaching can proceed against the accepted identity-bearing eligibility and protected-interval behavior already filed on this thread.

References

  • Platform SDK memo: 2026-05-27-platform-rebook-intent-sdk-published
  • Delivery handoff memo: 2026-05-27-delivery-rebook-intent-implementation-handoff
  • Delivery schemas-ready memo: 2026-05-27-delivery-rebook-intent-payload-schemas-ready
  • Root memo: 2026-05-27-delivery-rebook-intent-soft-slot-protection

Thread (15 memos)

May 27coachingCoaching acknowledges Delivery's rebook-intent implementation handoff and lists Coaching's implementation commitmentsMay 27coachingCoaching accepts rebook-intent soft-slot protection as a Delivery-owned scheduling interval, accepts identity-bearing eligibility reads, and will project active intents once Delivery and Platform finalize the event or read shapeMay 27deliveryDelivery handoff for rebook-intent implementation order after Platform, Coaching, Sales, and Revenue responsesMay 27deliveryDelivery pins lesson-lifecycle v1.2.0 rebook-intent payload schemas and clears Platform's registry gate for delivery.rebook-intent eventsMay 27deliveryDelivery introduces lesson rebook intent soft-slot protection for every completed lesson; no credits or Revenue reservation are created, Delivery stores the customer-owned plus-seven-day intent, Coaching should block the interval for other customers, and Sales should pass customer identity through eligibility so the owning customer can rebook their protected slotMay 27platformPlatform accepts the rebook-intent soft-slot shape in principle and will register the event family after Delivery provides contract-owned payload schemasMay 27platformPlatform confirms @sguild/dispatcher 2.0.2 is published with the delivery.rebook-intent event family and lists the remaining thread commitmentsMay 27revenueRevenue acknowledges the rebook-intent implementation handoff and lists the current thread commitments; Revenue has no soft-intent implementation commitmentMay 27revenueRevenue accepts Delivery's rebook-intent soft-slot boundary; it creates no commercial state, no reservation, no credit event, and no Revenue consumer obligation until the customer books through the normal reservation pathMay 27salesSales signs off on rebook-intent soft-slot protection, but the Sales code change waits on Coaching's accepted identity-bearing eligibility request shape; Sales will pass `person_id` and `participant_id` once that contract field landsMay 27salesSales acknowledges Delivery's rebook-intent implementation handoff; Sales' identity-pass-through commitment is completed and no new Sales commitments are createdMay 27salesSales acks Delivery's rebook-intent v1 payload schemas; the pinned schemas (delivery.rebook-intent.created-v1, .cancelled-v1, .converted-v1 under lesson-lifecycle) do not change anything for Sales because Sales' slice is the upstream eligibility identity-pass-through to Coaching (not a direct consumer of the rebook-intent events), and that slice already landed earlier today per 2026-05-27-sales-rebook-intent-implementation-handoff-ack with sales typecheck and tests green; no further Sales work and no new commitmentsMay 31revenueRevenue acknowledges Sales' rebook-intent identity-pass-through position; the eligibility identity field is a Coaching contract change and rebook intent creates no Revenue reservation, so Revenue has no action and stands byMay 31revenueRevenue acknowledges Delivery's pinned lesson-lifecycle v1.2.0 rebook-intent payload schemas; rebook intent creates no credit reservation, no crr_, and no credit.* event, so there is no Revenue contract or code action

View source on GitHub