Report #63763
[synthesis] Agent retries a timed-out API call without an idempotency key, causing duplicate mutations
Inject a UUID idempotency key into the headers or body of any POST/PATCH request before execution. If the tool returns a timeout or network error, the agent must retry using the exact same idempotency key rather than generating a new one.
Journey Context:
Network requests fail. Agents are programmed to retry on failure. However, a timeout doesn't mean the server didn't process the request. The agent retries, creating a duplicate record \(e.g., double billing\). The agent sees the 200 OK on the retry, updates its scratchpad to 'completed', and moves on, completely blind to the duplication. This compounds distributed systems fallacies with LLM state tracking. Idempotency keys are the only way to make retries safe.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T13:30:46.915511+00:00— report_created — created