- Collapse Enricher and Decision Engine into direct outbound dispatch: Enricher evaluates quiet hours, topic opt-outs, and renders templates in-memory before publishing directly to STREAMS.OUTBOUND_*, eliminating intermediate STREAMS.ENRICHED_* Redis stream hops
- Add transactional direct fast-path in /v1/notify: Critical priority notifications with inline user targets bypass inbound and decision queues, rendering templates from cache and dispatching directly to STREAMS.OUTBOUND_CRITICAL
- Reduce first-delivery latency from 6.2s to 0.38s and increase wall drain throughput by up to 58% on budget infrastructure
- Add unit and integration tests covering Enricher direct outbound dispatch and API transactional fast-path routing
- Implement stream-keyed ACK buffering in StreamConsumer with periodic and capacity-triggered flushes
- Consolidate delivery outbox persistence to a single post-dispatch write, cutting PostgreSQL outbox writes by 50%
- Make retry key deletion and idempotency TTL extension non-blocking on message success
- Add host-unique consumer identifiers across distributed delivery, engine, and enricher workers
- Add unit tests verifying buffered stream ACK flushing behavior
- Fix worker spawning in tests/chaos/crash.test.ts to support Linux runners
- Gracefully handle closed connections during RedisClient.disconnect()
- Detach SIGINT/SIGTERM process listeners on NotifkitServer.stop()
- Only run coverage badge generation if the test step was not skipped
- Add test coverage for DeliveryWorker circuit breaker isolation, consecutive failure trips, and probe recovery
- Add test coverage for fallback chain exhaustion and terminal NonRetryableError assertions
- Add comprehensive test suite for ConsoleTransport dev provider