Urgent.News

What's breaking now, across thousands of outlets.

Tech

An Agent Retry Is Not a Rewind Button

An agent asks a deployment API to create a release. The call times out. The agent restarts with its conversation intact and tries again. There may now be two releases. Or one. The timeout tells us what the caller saw, not what the deployment service did. Replaying the conversation cannot settle it. This is a hypothetical failure, but the design problem is concrete: once a tool can change…

When a deployment API times out, an agent can retry the request, potentially leading to multiple releases. This highlights the need for a unique identifier for each consequential action. The agent should assign an operation ID to the intended effect before dispatching it. The ID, target, payload, and state should be recorded in durable storage before the request is sent.

If the process restarts, it can inspect the operation record and check the deployment service for a matching effect. If a matching release is found, the agent can continue without issuing another create request. If there is no conclusive lookup, a retry can be safe only under a suitable upstream deduplication contract, where the service recognizes the same operation ID and payload within a relevant time window.

If the process dies after dispatch but before saving the evidence, the recovery should treat the outcome as unknown-reconcile. This approach ensures that each consequential action has its own identity and that retries are handled appropriately.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Monday 28 September →