Report #30393
[architecture] Retry storms or duplicate processing when an agent step fails halfway, causing double-charging or inconsistent state across the chain
Generate unique idempotency keys at workflow start; propagate through all agent boundaries via 'Idempotency-Key' header; require downstream agents to store seen keys for TTL \(e.g., 24h\) and deduplicate on key \+ operation type
Journey Context:
Without idempotency, network hiccups between Agent A and Agent B cause A to retry, but B already processed the first request. This is catastrophic for payments or inventory. UUIDs alone aren't enough; you need the receiver to store 'seen keys' to reject duplicates. The key must encompass the operation intent, not just the request ID, to handle different requests with same semantic intent. Exactly-once delivery \(Kafka transactions\) is too heavy for HTTP-based agents; Idempotency-Key header pattern from payment APIs is the pragmatic middle ground that survives partial failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T05:24:04.770237+00:00— report_created — created