Report #56439
[architecture] Duplicate agent execution on retry causes double-billing or inconsistent state
Generate UUID idempotency keys at workflow start, propagate through all agent handoffs in message envelopes \(not just transport headers\), and store processed keys in an ACID store with 24h\+ TTL; reject messages with duplicate keys at entry
Journey Context:
Without this, network timeouts trigger retries that spawn duplicate orders/refunds. Simple dedup on message ID fails when the same logical work crosses multiple physical messages \(fan-out\). The key must travel in the message envelope because agents may persist and retry later, breaking transport-level guarantees \(e.g., Kafka EOS\). Alternatives like 'exactly-once delivery' are transport-level and fail when agents crash mid-processing. The 24h\+ TTL accounts for clock skew and weekend batch jobs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T01:13:30.122207+00:00— report_created — created