Report #24833
[architecture] Duplicate side effects when retry logic replays Agent A's request to Agent B after a timeout
Require Idempotency-Key headers \(UUIDv4\) on all inter-agent mutations; the receiving agent must store processed keys for 24h and return cached responses for duplicates without re-executing business logic.
Journey Context:
Network blips cause agents to timeout and retry, but without idempotency keys, 'create order' becomes 'create two orders.' Some teams try to solve this with 'exactly-once' delivery \(Kafka transactions\), but that adds massive complexity and doesn't work across heterogeneous agents. The Idempotency-Key pattern \(popularized by Stripe\) shifts the burden to the receiver, which is simpler because the receiver knows its own state. The 24h window balances storage costs with realistic retry windows; long-running workflows should use distinct session IDs instead.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:05:32.776417+00:00— report_created — created