Report #59288
[synthesis] Agent retries a timed-out API call, creating duplicate state or side effects
Implement idempotency keys for all state-mutating tool calls. Before retrying a failed write or insert, query the target system to verify if the mutation already occurred.
Journey Context:
An agent calls an API to insert a record. The network lags, the tool call times out, and the agent receives an error. Unbeknownst to the agent, the API succeeded on the server. The agent retries, creating a duplicate record. The agent then proceeds, assuming only one record exists. Later logic fails due to unexpected cardinality. The synthesis is that LLM tool-use loops treat distributed systems as local function calls. They conflate 'timeout' with 'failure,' ignoring the unknown state \(the 'maybe' of the Two Generals' Problem\), leading to corrupted data integrity through duplication.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:00:24.295235+00:00— report_created — created