How Duvo Recovers from Transient Problems
When a Run hits a problem that is likely temporary — a network timeout, an overloaded external service, a rate-limit response — Duvo automatically returns the Run to the queue and retries it. You do not need to do anything. The Run will appear as Running or briefly as Pending in your Runs List while the retry is in progress. What counts as a transient problem:- Connection timeouts and network errors (ETIMEDOUT, ECONNRESET, socket hang up)
- HTTP 429 Too Many Requests (rate limiting)
- HTTP 502, 503, 504 (gateway errors and temporary service unavailability)
- Brief overload on the Duvo infrastructure
When a Run Fails Permanently
Some failures cannot be recovered by retrying. Duvo marks the Run as Failed immediately in these cases:
You can manually retry a failed Run from the Runs List — click the row to open the Run, then use the retry action. For case-based workflows, see Retrying and Updating Cases.
Understanding Run Statuses
A Run that ends without the agent explicitly completing, postponing, or handing over the underlying case is automatically marked Failed. This means every AOP that processes cases should clearly instruct the agent when and how to resolve each case.
AOP Patterns for Controlling Recovery Behavior
The agent follows your AOP instructions when deciding how to handle errors it encounters mid-run (as distinct from the system-level retry logic above, which handles failures before or during dispatch). Use these patterns to tell the agent how to behave when something goes wrong.Retry an action a limited number of times
Retry an action a limited number of times
Fail fast on a specific error
Fail fast on a specific error
Postpone and come back later
Postpone and come back later
Use this when the condition needed to proceed may resolve on its own:When the agent postpones a case, its status changes to Postponed with the scheduled retry time. At that time, Duvo automatically picks it up again.
Escalate to a human instead of failing
Escalate to a human instead of failing
Use HITL when you want a person to decide what to do rather than having the Run fail silently:See Designing Human-in-the-Loop Workflows for guidance on choosing between approval gates and automatic failures.
Skip Semantics: Skipped vs Failed vs Postponed
These three outcomes look similar but mean different things:When an operator rejects a HITL request
When an operator clicks Reject on an approval request, the agent receives a rejection signal. What happens next depends entirely on how your AOP handles it. Duvo does not automatically halt or retry the Run — your AOP must define the response. Common patterns:When condition data is missing
If the agent reaches a conditional step but the data needed to evaluate the condition is absent:Idempotency: Preventing Duplicate Actions on Retry
When an agent retries a step after an earlier attempt failed, there is a risk of performing an action twice — sending two emails, creating two records, charging a customer twice. Use these patterns to prevent that.The check-before-write pattern
Always check whether the action has already been completed before performing it:Tag actions with a reference ID
Use a stable identifier from your source data (PO number, order ID, ticket ID) to make each action uniquely identifiable:Per-connection idempotency patterns
Where to Look When Something Goes Wrong
Runs List
The Runs List (Past Runs in the sidebar) shows the status of every Run across all your agents. Use the Needs attention quick filter to surface Failed and Needs Input Runs immediately. For each failed Run, the evaluation badge shows the severity of any issues found. Click the badge to see a breakdown of what went wrong and why.Case timeline
For cases processed through Queue, open the case detail view to see the full processing history — which agent handled each stage, when it ran, and what the outcome was. If a case has been retried multiple times, each attempt appears in the timeline.Reading a failure
Common failure patterns and what they indicate:Related
Designing Human-in-the-Loop Workflows
Escalation patterns, fallbacks, and approval thresholds
Queue
Case statuses, postpone behavior, and manual retry
Runs List
Monitoring status across all agents