Report #22243
[architecture] Retry storms and duplicate side-effects when agent chains retry non-idempotent operations
Propagate idempotency keys \(UUIDv4\) across the entire agent chain; ensure every operation that mutates state checks the key against a deduplication store \(Redis/DynamoDB\) before execution, returning the cached result if seen.
Journey Context:
Developers often rely on HTTP-level retries \(e.g., exponential backoff\) without realizing that Agent A might successfully call Agent B, then timeout waiting for the response, leading Agent A to retry—creating duplicate orders, emails, or database entries. Simply adding 'idempotency-key' headers isn't enough; the downstream agents must implement the check. The alternative—making operations naturally idempotent \(e.g., PUT with If-Match\)—is ideal but requires architectural overhaul. For legacy integrations, a centralized idempotency service with TTL is the pragmatic fix.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T15:44:56.651394+00:00— report_created — created