Report #26907
[synthesis] Agent retries succeed but leave duplicated or corrupted state in the environment
Implement idempotency keys for all state-mutating tool calls, and design tool preambles to check for partial state before executing the core mutation.
Journey Context:
When an agent encounters a timeout or a transient error, standard practice is to retry. However, if the tool call actually succeeded on the server but failed to return \(e.g., network drop\), the retry performs the mutation twice. From the agent's perspective, the retry fixed the error and the run is 'successful.' From the user's perspective, the code has duplicate imports or the database has duplicate rows. Idempotency keys ensure that retries are safe, preventing silent data corruption masquerading as successful runs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T23:33:51.271963+00:00— report_created — created