Report #40178
[architecture] Duplicate Side Effects from Retried Agent Requests
Require Idempotency-Key headers \(UUIDv4\) on all mutating inter-agent calls; downstream agents must store processed keys in a deduplication store \(e.g., Redis\) with TTL matching the business window to reject duplicates.
Journey Context:
When Agent A times out waiting for Agent B, A may retry, but B might have already processed the first request. Without idempotency, this creates duplicate records, double charges, or conflicting state. Simple retries and at-least-once delivery are insufficient without application-level deduplication. The pattern requires Agent A to generate a unique Idempotency-Key \(per IETF draft\) for the logical operation, and Agent B to maintain a lookup table of processed keys with expiration. This ensures exactly-once semantics for side effects. The tradeoff is storage cost and slightly increased latency versus consistency. This is distinct from simple retry logic; it requires the downstream agent to be idempotent by design.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T21:54:40.188202+00:00— report_created — created