Core concepts
Turns and ceilings
One request is one turn. A turn may call several tools before it answers, and every dimension of that loop is bounded.
Anatomy of a turn
Route. Intent and domain are resolved by pattern rules — no model call. This decides whether tools and live context are offered at all.
Gate. Plan quota, then the spend breaker reading the tenant's ledger. Out-of-scope messages and greetings short-circuit here, before any spend.
Ground. Cached context sections, durable user preferences, and vector-retrieved documentation are assembled into the prompt.
Loop. The model is called with the eligible tool subset. Tool calls are dispatched, results fed back, and the loop repeats until the model answers or the tool-turn ceiling is reached.
Validate and account. Output is validated against the block schema; tokens and dollars are written to the ledger and telemetry is recorded.
Why routing happens first
Deterministic routing is the cheapest thing in the pipeline and it decides the cost of everything after it. A greeting never reaches the model. A navigation question does not load live context. A question that cannot be answered by any registered tool does not pay to discover that.
The routing rules are pattern-based rather than model-based on purpose: a classifier that costs a model call to decide whether to make a model call has not saved anything.
The ceilings
| Bound | Default | What it stops |
|---|---|---|
| Tool turns | 3–8 by plan | A model looping tool calls indefinitely |
| Concurrent tools | 4 | A single turn saturating your endpoint |
| Output tokens | 8k–25k by plan | Runaway generation |
| Per-attempt tool timeout | 20s | One slow tool holding the turn open |
| Tool response size | 256 KB | An oversized result poisoning the context |
| Request timeout | 60s | — |
Plan-specific values are in Plans and ceilings.
Reasoning tokens come out of the same budget
The models Tether uses draw reasoning tokens from max_output_tokens — the same budget as the
visible answer. That is why the ceilings are 8k–25k rather than the 1k–4k you might expect for
answers of this length.
A ceiling set too low does not truncate the answer politely. It spends the whole budget thinking and returns nothing.
Termination
A turn ends when the model returns an answer with no further tool calls, when the tool-turn ceiling is reached, when the output ceiling is hit, or when a gate refuses it.
Reaching the tool-turn ceiling is not an error. The model answers with what it gathered, and telemetry records the tool count so you can see which questions are hitting the wall.
Capability modes
capabilityMode selects how much a turn may draw on:
Standard— ordinary questions. The default.Deep— the heavier model, a higher tool-turn ceiling, and any tool registereddeep_analysis_only.
Deep costs materially more per turn, so it is requested rather than assumed, and it is only
available on plans that allow it.