docs(09): create phase plan

This commit is contained in:
Lucas Berger
2026-06-12 14:28:09 -04:00
parent b22c92ae92
commit 5fdbd11475
2 changed files with 5 additions and 3 deletions
@@ -18,6 +18,8 @@ must_haves:
- "Concurrent scheduleOutboxDrain() calls dispatch each pending row exactly once — no duplicate CalDAV PUT (D-07)"
- "runOutboxDrain's body and the isDraining guard are behaviorally unchanged — its existing 15 tests still pass"
- "scheduleOutboxDrain catches drain errors so a listener error never escapes the wrapper (D-02)"
- "No debounce/coalesce window and no rejection of mid-drain signals: drainRequested is a plain boolean that collapses every mid-drain signal into exactly one trailing drain — never rate-limited or dropped (D-06)"
- "Verification is fully automated by the trigger-wiring Vitest tests; no operator-stopwatch human checkpoint is required and the CI-guarded test is the durable latency evidence (D-10)"
artifacts:
- path: "apps/api/src/lib/outboxTrigger.ts"
provides: "Zero-dependency in-process EventEmitter drain signal (signalOutboxDrain, onOutboxDrain)"