cc-os/plugins/os-adr/eval-b/fixture/project/docs/adr/0001-retry-failed-deliverie...

1.0 KiB

id date status supersedes superseded-by affected-paths affected-components
0001 2026-02-10 Superseded 0003
lib/relay/delivery.rb
delivery
retries

0001 — Retry failed deliveries a fixed three times

Context

Early receivers dropped webhooks intermittently; a delivery that fails once usually succeeds on a quick follow-up. We needed some retry behavior before launch and had no data on receiver load patterns yet.

Decision

Failed deliveries are retried exactly three times, one second apart, then reported as failed. The retry count and spacing are constants in lib/relay/delivery.rb.

Consequences

Simple and predictable; transient blips are absorbed. Receivers that are down for more than a few seconds still lose the delivery, and rapid-fire retries add load to a receiver that is already struggling.

Alternatives rejected

No retries rejected: transient network errors were the dominant failure mode in testing. Unbounded retries rejected: a permanently dead endpoint would wedge the queue.