Report #53413
[synthesis] Agent creates duplicate records or takes duplicate actions during API rate limiting or transient failures
Mandate that the LLM generates and passes a UUID as an idempotency key in every tool call argument for state-mutating operations, and enforce idempotency on the API side.
Journey Context:
When an API times out or rate limits, the agent's default logic is to retry. However, the first call often succeeded before the timeout. The retry creates a duplicate. The agent sees a 200 OK on the retry and reports success. Monitoring sees no errors, but data quality degrades. LLMs cannot natively track distributed state or understand API idempotency; they just see 'try again.' Injecting the idempotency key generation into the prompt forces the LLM to participate in standard distributed systems fault tolerance.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:08:56.124930+00:00— report_created — created