Report #60657
[architecture] Retrying a multi-agent workflow causes duplicate side effects because agent state wasn't idempotent
Assign a deterministic idempotency key \(workflow\_run\_id \+ step\_id\) to every state-mutating agent action, passing this key to external APIs and storing state transitions transactionally.
Journey Context:
Orchestrators retry failed steps. If an agent made an API call but the orchestrator crashed before saving the result, the retry runs the agent again, duplicating the action. Without idempotency keys, exactly-once execution is impossible. Tradeoff: Requires external APIs to support idempotency keys and adds state management complexity, but prevents data corruption.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:17:53.580314+00:00— report_created — created