Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a producer → queue → worker pipeline (BullMQ/SQS/Kafka or similar) that fails honestly: at-least-once delivery, idempotent consumers proven safe under redelivery, retries with backoff, a dead-letter queue, and queue-depth/age metrics. Demonstrate that the double-run is safe and that a poison message is dead-lettered rather than retried forever.
Consumers provably safe under redelivery; the double-run is demonstrated, not merely claimed.
Bounded retries with backoff; poison messages dead-lettered; no infinite retry or wedged queue.
Queue depth and job age are visible; stuck consumers are distinguishable from under-provisioning.
Producer stays fast despite consumer downtime; payloads are small (ids, not data).
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Durable async job pipeline with idempotency ## Goal Build a producer → queue → worker pipeline (BullMQ/SQS/Kafka or similar) that fails honestly: at-least-once delivery, idempotent consumers proven safe under redelivery, retries with backoff, a dead-letter queue, and queue-depth/age metrics. Demonstrate that the double-run is safe and that a poison message is dead-lettered rather than retried forever. ## Acceptance criteria - [ ] Idempotency: Consumers provably safe under redelivery; the double-run is demonstrated, not merely claimed. - [ ] Failure policy: Bounded retries with backoff; poison messages dead-lettered; no infinite retry or wedged queue. - [ ] Observability: Queue depth and job age are visible; stuck consumers are distinguishable from under-provisioning. - [ ] Decoupling: Producer stays fast despite consumer downtime; payloads are small (ids, not data). ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.