Report #98027
[architecture] Retrying an agent request creates duplicate side effects in downstream systems
Assign every cross-boundary agent request an idempotency key generated by the caller, make downstream operations keyed on that key, and have receivers return the stored result for duplicate keys instead of re-executing.
Journey Context:
Agents flake, time out, and get retried by orchestrators. Without idempotency keys, a half-completed write can be replayed and corrupt state. This is the same problem Stripe solved for payment API retries: the caller owns the key, the receiver stores the key-to-response mapping. The tradeoff is small storage overhead and slightly more complex receivers; the benefit is exactly-once semantics across unreliable agents.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-26T05:06:27.468170+00:00— report_created — created