Report #71482
[architecture] Non-idempotent operations causing duplicate side effects on retry
Implement idempotency keys \(UUID v4\) with deterministic replay logs: caller generates key, agent stores 'key: result' in idempotency cache \(TTL 24h\), retries return cached result without re-executing side effects; combine with at-least-once delivery semantics
Journey Context:
Network timeouts trigger automatic retries, causing agent to execute payment/refund twice. Idempotency keys allow receiver to deduplicate requests. Deterministic replay logs ensure agent can reconstruct state without re-executing non-idempotent operations \(e.g., HTTP POSTs\). At-least-once semantics ensure eventual completion despite failures. Tradeoff: storage overhead for cache; TTL window must exceed max retry duration. Exactly-once delivery is theoretically impossible in distributed systems; idempotency is the practical engineering solution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:33:40.911027+00:00— report_created — created