Retry policy simulator

Compare retry policies

Test retry policies against simulated tool failures. See which workflows finish safely, which stop, and what recovery costs in time and calls.

A simulation of tool calls. These results use a fixed workflow, not a live agent or an LLM.

Experiment settings

A four-step checkout with rate limits, timeouts, and malformed receipts. Payment timeouts happen after the charge commits.

Edit experiment settings
Fault probability35%
0% · no faults100% · every eligible call
Trials per policy

Your retry policy

Compared with blind retry
Attempts per tool3
Includes the first call6 · up to 5 retries
Time budget
Reuse the same operation key on retries
Reject malformed responses
Wait as requested by a rate-limited tool
Timeout and error handling

Call timeout and total time budget apply to both policies.

Repeat calls even after an authorization failure
Retry without a supported idempotency key; this can duplicate a write

The same settings reproduce the same results.

35% faults · 3 attempts · 600 ms backoff · 15s budget

Simulation results

Checkout payments

250 trials per policySeed 1720
MeasureBlind retryBaselineYour policyGuarded retryDifferenceYour policy − baseline
Safe completionFinished, with no duplicate writes
or accepted malformed outputs
30.0%83.2%+53.2 ppPercentage points
Duplicate writesExtra committed effects, including
those in stopped workflows
720-72
p95 simulated duration95% of workflows finish or stop
within this time
4.99s8.78s+3.79s
Tool callsFirst calls and retries across all trials1,0451,371+326
How to read these measures
Safe completion
A finished workflow with no duplicate writes or accepted malformed outputs.
Duplicate writes
Extra committed effects, including those in workflows that later stopped.
p95 simulated duration
95% of workflows finish or stop within this time. A shorter time can reflect earlier failure.
Tool calls
First calls and retries across all trials. Differences are your policy minus the baseline; pp means percentage points.

Blind retry uses 3 attempts and 100 ms initial backoff, without output validation or idempotency.

Compare a single trial

The same workflow under both policies. Select a call for details.

/ 250

The initial example selects a trial where your policy avoids a duplicate write, then an improved completion. Browse any trial above; totals include every trial.

Inspect a call
Blind retryUnsafe completion2.48s
Tool call
0s1.53s3.06s
catalog.search
inventory.check
payments.charge
receipt.render

Workflow completed · 1 duplicate write

Guarded retrySafe completion2.89s
Tool call
0s1.53s3.06s
catalog.search
inventory.check
payments.charge
receipt.render

Workflow completed

Valid responseRate limitedFaultBackoffSimulated time · no tool calls executed

Outcomes across all trials

250 per policy
Blind retry75 / 250 safe
75 safe76 unsafe99 stopped
Guarded retry208 / 250 safe
208 safe0 unsafe42 stopped

Safe = completed, with no duplicate writes or accepted malformed output in this model.

Reading these results

208 safe. 42 stopped.

Your policy finished 208 of 250 workflows, including 0 unsafe completions. Blind retry finished 151, including 76 unsafe completions.

Recovery used 1,371 calls, compared with 1,045 for blind retry. Duration includes retries and waiting, even for stopped workflows.