Dead letters need a return path

Partial batch failure needs a decision about failed records and successful siblings. Parking work is a recovery boundary. It does not prove successful processing.

Do you put the failed event into a DLQ and process it later?

Source: Q2033; B533, B933.

Failure it prevents

A failed item disappears, blocks useful work, or causes successful siblings to run repeatedly.

Our Effect 4.0.0 reading

PersistedQueue retains failed records. DurableQueue exhaustion can leave its DurableDeferred unresolved and the workflow parked. Provide out-of-band repair and requeue.

Source: packages/effect/src/persistence/PersistedQueue.ts, packages/effect/src/workflow/DurableQueue.ts.

How to check

Exhaust an item, find its failure record, repair it, and prove redrive resumes the intended waiter without repeating successful siblings. This check is our proposal. The books do not prescribe it.

Continue with Retry needs idempotent effects14, Golden signals expose overload9.

Connect this to the existing rat-stack guidance23.

Use the durability skill for the full review. Return to the durability index34.

Sources

  1. Bellemare, Adam. Building Event-Driven Microservices: Leveraging Organizational Data at Scale. O’Reilly, 2020.. O’Reilly. Chapter 3 Communication and Data Contracts; Chapter 6 Deterministic Stream Processing; Chapter 7 Stateful Streaming; Chapter 9 Microservices Using Function-as-a-Service; Chapter 14 Supportive Tooling. Accessed 2026-10-23.
  2. Sbarski, Peter; Cui, Yan; Nair, Ajay. Serverless Architectures on AWS, Second Edition.. Manning. Chapter 6, The New Search Microservice: Everything Fails, All the Time; Pay Attention to Retry Configurations. AWS-specific mechanisms are not universal runtime guarantees. Accessed 2026-10-23.
  3. Effect contributors. Effect 4.0.0. persistence/PersistedQueue.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.
  4. Effect contributors. Effect 4.0.0. workflow/DurableQueue.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.

Last changed 2026-10-23 in 58dc623. Source on GitHub. Change log.

Linked from

  1. add-a-feature-flag. Declare a typed feature flag, its scoped evidence ladder, approval roles, removal date, and durable ledger adapter.

    Recreate the ledger, redrive, and prove the replica converges.¶

  2. Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.

    Dead letters need a return path — Exhausted work needs durable evidence, an owner, and deliberate redrive.

  3. Change log. What changed in the files served here, newest first.

    Dead letters need a return path — new page: docs(lore): land the durability wiki pages and bibliography

  4. Checkpoints follow the promised commit. Persist state and progress together when one store can transact both.

    Continue with Retry needs idempotent effects, Dead letters need a return path.¶

  5. durability. Keep a rat-stack app standing when a provider, pool, or dependency slows down or a worker dies. Use at any I/O boundary, connection pool, provider call, shared waiter, fan-out, flag, gate, or work that can outlive a request, or when asked "what happens when this is slow", "add a timeout", "make this durable", or "what survives a crash".

    Failure prevented: Poison work disappears, retries forever, or parks invisibly.¶

  6. Durability starts with a recovery record. A reading order for storage, replay, worker ownership, overload, and recovery tests.

    Dead letters need a return path: Exhausted work needs durable evidence, an owner, and deliberate redrive.¶

  7. Feature flags. Typed feature flags with owners, removal dates, and stable subject rollouts.

    Failed projection keeps the marker for redrive.¶

  8. Flags climb on evidence. A flag ladder connects each rollout step to scoped measurements, approval, and a durable receipt.

    Redrive uses the committed value.

  9. Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
  10. Golden signals expose overload. Measure latency, traffic, errors, and saturation, including failed work.

    Continue with Dead letters need a return path, Admission control protects recovery.¶

  11. Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.

    Dead letters need a return path — Exhausted work needs durable evidence, an owner, and deliberate redrive.

  12. Request lifetime is not durability. Worker waitUntil has a shared post-response allowance; required work needs a durable marker and redrive.

    Persist an undelivered marker for independent redrive.¶

  13. Source change history (log.md). The generated change log as Markdown.

    Dead letters need a return path — new page: docs(lore): land the durability wiki pages and bibliography

  14. Steady state recycles resources. Every accumulation needs a deliberate recycling policy.

    Continue with Queries need result bounds, Dead letters need a return path.¶