{"content":"[release-review 11/9] fix: daily hard budget on replayed outbox deliveries; live traffic unaffected.\n\nUser decision on the pre-release review P1: pacing alone still spends the whole post-downtime backlog eventually. The durable drain now enforces a per-local-day budget on REPLAYED continuations (DURABLE_CROSS_SESSION_REPLAY_DAILY_BUDGET = 100): a row enqueued by a previous app session only runs while today's budget lasts; past the cap the remaining backlog is deferred to the next local midnight via CrossSessionDeliveryStore.deferDeliveryTo - no attempt consumed, nothing dropped, rows resume next day under a fresh budget. Deliveries enqueued by the CURRENT session never count, so live cross-session traffic must not starve behind a stale backlog. Deferrals are in-memory updates with one persist() per pass (a full-DB save per row would be ruinous on a big backlog), and the first deferral per pass logs a WARN.\n\nTests: new budget test (budget 2, 4 replay rows -> 2 drain, 2 deferred at next midnight and still pending; a live row enqueued afterwards drains immediately). crossSessionDeliveryRunner + groupChatOutboxDurability 18/18, test:release-regressions-extra green, test:im-gateway 6/6, lint clean.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}