Idempotency before retries
Adding retries to a non-idempotent endpoint converts a visible failure into an invisible one.
- A flaky downstream is causing errors and someone has opened a PR adding retry logic.
- Synchronous HTTP or RPC between services you do not own end to end.