Skip to content

DL-335

The migrated delivery consumer runs onEventRef (re-read + classify + hold/dispatch) DIRECTLY on the fabric callback goroutine under c.mu + the per-session gates (OQ-2), concurrent with the settle/start drain loop — NOT enqueued onto a single goroutine. The relaxed cross-channel ordering is one today’s non-deterministic select never actually guaranteed; the cursor sweep remains the no-loss floor. Two Option-A obligations are invariants, not forks: scanMissedMentions’s held-check and MarkMentionsRouted run under one critical section (scan-vs-hold), and per-callback dispatch work stays bounded so the ack does not block past AckWait behind a long sweepSession

Status: Active (Matt, 2026-09-05)

Record: ../../infra/runtime/compass-managed-delivery-cutover/design.md#oq-2-load-bearing-concurrency-model–callback-direct-vs-loop-enqueue