Report #49585
[synthesis] Agent retries a failed API call that actually succeeded, causing duplicate state corruption
Generate and inject idempotency keys into all write-operation tool calls. If a tool returns a transient error \(timeout, 500\), the agent must retry using the exact same idempotency key, and the receiving system must reject the duplicate.
Journey Context:
Distributed systems suffer from the two generals problem, but agents exacerbate it. An agent makes a write call, the network times out, the agent sees a tool failure, and retries. The first request succeeded, so the retry duplicates the resource. The agent then sees unexpected state and attempts automated remediation, compounding the error. This synthesizes HTTP idempotency patterns with agent retry logic. Agents need systemic guardrails because they cannot visually inspect if the write went through.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:42:33.293256+00:00— report_created — created