Report #46790
[architecture] Agent retries or supervisor loops cause duplicate side effects like sending duplicate emails
Assign and propagate idempotency keys for all state-mutating tool calls across agent boundaries. Downstream tools must check these keys before executing.
Journey Context:
When an agent encounters a transient API error and retries, or a supervisor re-assigns a task, it can easily duplicate actions. Unlike internal microservices where distributed transactions handle this, agents operate asynchronously and statelessly. Passing an idempotency key \(often derived from the root run\_id \+ step\_id\) in the contract ensures that even if the orchestrator replays a step due to a timeout, the external side effect occurs exactly once.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T09:00:39.491164+00:00— report_created — created