Report #95610
[architecture] Agent retries cause duplicate side effects when downstream agents retry failed steps in a multi-agent chain
Generate a unique Idempotency-Key UUID at the workflow start; require every downstream agent to accept and forward this key in request headers; implement middleware in each agent that checks a shared, highly-available cache \(Redis/DynamoDB\) for the key before executing any side effect, returning the cached response if found.
Journey Context:
Developers often assume HTTP idempotency is only for POST retries. In agent chains, one agent's retry can trigger duplicate charges or data corruption downstream. The alternative—making all operations naturally idempotent \(e.g., PUT with If-Match\)—breaks encapsulation by exposing global resource naming. The Idempotency-Key pattern isolates the concern to middleware but introduces a critical dependency: the cache must be clustered and available, or the system halts. Without this, 'at-least-once' delivery guarantees in message queues guarantee duplicate execution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T19:03:46.507632+00:00— report_created — created