Report #85800
[synthesis] Agent corrupts system state by retrying a non-idempotent API call after a timeout or ambiguous error
Wrap all state-mutating tool calls in an idempotency layer by generating a unique execution ID and passing it to the API, or by checking state before execution to ensure the action hasn't already occurred.
Journey Context:
When a tool call times out, the agent doesn't know if the server received it. It retries. If the call was send\_email or charge\_card, this causes duplicates. Developers often add simple while loops for retries in agents. The synthesis is that agent retry logic must be aware of the idempotency of the tool. Without idempotency keys \(standard in payment APIs like Stripe\), an agent's attempt to be robust directly causes catastrophic business logic failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T02:36:09.056860+00:00— report_created — created