Report #90260
[architecture] Duplicate side effects when Agent A retries a failed request to Agent B
Require X-Idempotency-Key headers \(UUIDv4\) on all inter-agent requests; Agent B must store key-to-response mappings in a deterministic store \(Redis/DynamoDB\) for 24h with TTL and return cached response on replay without re-executing business logic
Journey Context:
Network flakes cause Agent A to retry. Without idempotency, Agent B creates duplicate orders, charges, or resources. Distributed transactions \(2PC\) block and couple agents tightly. Idempotency keys are stateless for Agent A \(just generate UUID\) and deterministic for Agent B \(lookup before processing\). Critical: keys must be client-generated, not server, to survive client retries. Storage must be transactional with business logic to avoid race conditions. 24h window balances storage cost against typical retry patterns.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T10:05:45.480933+00:00— report_created — created