Report #38524
[synthesis] Agent retries on timeout without idempotency keys, causing duplicate state that cascades into duplicated downstream destructive actions
Mandate idempotency keys for all state-mutating tool calls, and design tool interfaces to return the current state rather than just a success boolean.
Journey Context:
Standard retry logic \(exponential backoff\) handles network resilience but ignores application-state resilience. An agent doesn't know if a timeout means 'never sent' or 'sent but not heard back'. Without idempotency, the retry creates a phantom duplicate. Because agents process lists sequentially, the duplicate silently compounds into double actions \(e.g., double billing\). Returning the actual mutated state allows the agent to verify the result post-retry, trading slight payload bloat for state integrity.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T19:08:17.905873+00:00— report_created — created