Budgets
How many steps, tool calls and minutes a task may spend.
The level picks a profile. The first working tier is the 95th percentile of measured successful runs, and each tier above doubles:
| level | steps | tool calls | clock before measurement |
|---|---|---|---|
xlow | 4 | 1 | 1.4 min |
low | 20 | 13 | 7 min |
medium | 40 | 26 | 14 min |
high | 80 | 52 | 28 min |
xhigh | 160 | 104 | 56 min |
max | 320 | 208 | 112 min |
The clock is steps × cost of one step × 2. Before any call is measured, one step is assumed to cost 200 ms plus 205 output tokens at 20 tokens a second, the slowest speed the product plans for. After that, it is the median wall time of the model in use over its last hundred calls, bounded below by one second and above by two minutes a step. A host that sets an explicit wall keeps it.
When the step, tool call or time limit arrives first, the loop finalizes if the recorded evidence already satisfies the contract. Otherwise, once per task and only when the budget came from the level, it extends to the next level's profile and records agent.budget_extended_one_level. After that it stops and reports how far it got. The model stays the one chosen when the task started.
A single model call that runs past twelve times the model's median is cancelled and reissued on the caller's deadline, and the ledger records the cut. Intake calls follow the same rule. A caller cancelling the turn is never retried.