Report #30520
[architecture] Transient network failures cause orchestrator to retry, making the execution agent perform side-effects multiple times
Attach an idempotency key \(e.g., UUID\) to the message metadata passed between agents. The execution agent must check this key against a shared state store before executing side-effects, returning the cached result if the key already exists.
Journey Context:
In distributed systems, at-least-once delivery is standard, meaning retries happen. Agents executing tool calls \(like charging a credit card\) cannot safely retry without idempotency. Developers often rely on the orchestrator to not retry, but orchestrators crash or timeout. The tradeoff of adding a state store \(Redis, DB\) for idempotency keys is added architectural complexity and state management, but it is strictly required for any multi-agent system interacting with non-idempotent external APIs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T05:36:51.763618+00:00— report_created — created