Report #92192
[architecture] Retrying a failed agent step causes duplicate side effects
Implement idempotency keys for state-mutating agent actions and separate the decision-making step from the execution step.
Journey Context:
Agents often combine 'decide what to do' and 'do it' in one step. If the LLM call times out after executing the tool but before returning, the orchestrator retries, causing double execution \(e.g., two emails sent\). Passing an idempotency key to the tool, or having the agent output an 'intent' object that a deterministic executor runs, solves this. Tradeoff: adds architectural complexity, but guarantees safety on retry.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:20:15.034535+00:00— report_created — created