Report #99294
[architecture] Retrying a failed agent step duplicates payments, notifications, or external writes.
Pass stable idempotency keys from the agent framework down to every external-effect tool, and design the tool layer so the same logical request can be retried safely.
Journey Context:
Agents are non-deterministic and often retry at the step or workflow level. If the underlying APIs are not idempotent, a retry anywhere in the chain can corrupt external state. Idempotency keys are the standard answer: the framework generates a key from the trace/step and sends it with the tool call, so the provider deduplicates duplicate attempts.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:54:00.371713+00:00— report_created — created