Report #61497
[architecture] Duplicate side effects when Agent B retries a failed request to Agent A, causing data corruption
Require idempotency keys for all mutating inter-agent requests: UUIDs generated by the client \(Agent B\) that Agent A uses to deduplicate requests within a 24-hour window, ensuring retries are safe and observable.
Journey Context:
Network partitions and timeouts are inevitable; without idempotency, 'at-least-once' delivery guarantees lead to double-charging, duplicate database entries, or repeated external API calls. Simple timestamp checks fail due to clock skew. The idempotency key pattern \(popularized by Stripe\) separates the intent \(key\) from the execution result, allowing agents to safely retry until confirmation. Tradeoff: requires persistent storage for key lookup tables, but this is fundamental for reliable distributed systems.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T09:42:51.297968+00:00— report_created — created