cc-os/plugins/os-adr/eval-b/fixture/project/docs/adr/0006-dead-letter-deliveries...

28 lines
979 B
Markdown
Raw Normal View History

---
id: "0006"
date: 2026-04-20
status: Accepted
supersedes:
superseded-by:
affected-paths: [lib/relay/delivery.rb]
affected-components: [delivery, retries]
---
# 0006 — Dead-letter deliveries that exhaust retries to a JSONL file
## Context
A delivery that exhausts its retry attempts was previously just a log line; operators had no way to replay it after the receiver recovered.
## Decision
When a delivery fails its final attempt, Delivery appends the URL, payload, and last error as one JSON line to the dead-letter file (deadletter.jsonl). Replay is a manual operator action, not automatic.
## Consequences
No delivery is silently lost; the report command can enumerate failures. The file grows without rotation, acceptable at current volume.
## Alternatives rejected
Automatic background replay rejected: a recovering receiver would immediately be hit with the full backlog. A database table rejected: the tool has no database and one failure file is greppable.