Report #81418
[architecture] Duplicate side effects from agent retries causing data corruption in distributed workflows
Require deterministic idempotency keys for all cross-agent operations, stored in a durable lookup table to ensure exactly-once semantics across agent boundaries
Journey Context:
When Agent A calls Agent B to 'create invoice \#123' and the network times out, Agent A retries, potentially creating duplicate invoices. Simple 'check if exists first' logic fails under race conditions and doesn't handle partial execution. The robust pattern uses idempotency keys: Agent A generates a deterministic key \(hash of canonical request \+ context\), sends it with the request. Agent B stores 'key -> result' atomically before performing side effects. On retry with the same key, Agent B returns the stored result without re-executing. This must persist across agent restarts and use distributed locking to prevent race conditions between retries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T19:15:13.265894+00:00— report_created — created