eval::assert::exact
Deep-compare output with arguments.expected; deterministic built-in evaluator.
- argumentsunknown
- evaluation_idstringrequired
- metricsobjectrequired
- by_sessionobject[]required
- cache_read_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- cache_write_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- contextany of
The session's latest per-generation context snapshot (categories, budget, usage) — absent for sessions that have not generated since snapshots landed.
Show 2 nestedHide nested
any of (2)Variant 1- categoriesobjectrequired
Where the request's tokens sit. Categories are assembly-time estimates; `hook_guidance` is the measured growth after assembly (pre-generate hook appends and orphan-repair patches), 0 when the request left assembly unchanged.
Show 6 nestedHide nested
- hook_guidanceinteger· uint64min 0
- messagesobjectrequired
Estimated tokens of the assembled window's messages, by role.
Show 4 nestedHide nested
- assistantinteger· uint64requiredmin 0
- custominteger· uint64requiredmin 0
- function_resultinteger· uint64requiredmin 0
- userinteger· uint64requiredmin 0
- overheadinteger· uint64requiredmin 0
Provider framing plus response_format / provider_options fields.
- skillsinteger· uint64min 0
Selected skill bodies contained in the system prompt.
- system_promptinteger· uint64requiredmin 0
Final assembled system prompt excluding tokens attributed to `skills`: identity, per-step aids, and any compaction summary section.
- toolsinteger· uint64requiredmin 0
Function schemas exposed to the model.
- compactedbooleanrequired
The context carries a conversation summary: compacted on this step, or anchored on an earlier compaction entry (a previous step, the console's `/compact`). The summary's tokens count in `system_prompt`.
- effective_max_output_tokensinteger· uint64requiredmin 0
Output allocation `usable` was derived against.
- estimatorstring
Which estimator produced the numbers (`heuristic` until the context-manager resolves a real tokenizer). Absent when the context-manager predates the breakdown response.
- freeinteger· uint64requiredmin 0
- modelstringrequired
- prefix_divergencesobject[]
Already-sent rows this session's requests rewrote, newest last (at most [`MAX_PREFIX_DIVERGENCES`]), carried from step to step.
Show 9 nestedHide nested
- cache_readinteger· uint64min 0
`usage.cache_read` of the rewriting request: what the provider still reused.
- call_idstring
- causestring
What rewrote the row, as far as the harness can tell: `prune` (context-manager pruned or reduced function results to fit the budget that step) or `system_prompt` (row 0: a compaction summary or a prompt change).
- indexinteger· uint64min 0
First row (0 = system prompt, then one per message) that differs from the session's previous request. Absent when only the provider's wire mapping changed.
- prev_leninteger· uint64min 0
Rows the previous request carried.
- provider_notestring
The provider's own wire-level finding, cause included, when it reported one (a final-message warning starting with [`PROVIDER_PREFIX_NOTE`]).
- rolestring
- stepinteger· uint64requiredmin 0
- turn_idstringrequired
- prompt_sections_fallbackstring
Why no shared prefix went out: `disabled` (config), `no_stable_prefix` (empty identity prompt) or `prefix_rewritten` (a pre_generate hook replaced the prompt head; its prompt still wins, it just shares nothing).
- prompt_surface_digeststring
Identity of the shared prompt prefix this generation went out with (`sha256:` of the stable section) — present only when the request carried `system_sections`. A local identity, never a provider hit; `usage.cache_read` is the reuse signal.
- providerstring
- session_cost_usdnumber· double
Running cost of the whole session in USD, accumulated across every generation step. `usage.cost_usd` is one step's bill — on providers with steep cache discounts the per-step number swings two orders of magnitude, so a chip showing it alone reads as a bouncing total.
- session_idstringrequired
- stepinteger· uint64requiredmin 0
- summarized_head_tokensinteger· uint64min 0
Size of the history that summary replaced.
- timestampinteger· int64required
- totalinteger· uint64requiredmin 0
Final request estimate: categories plus post-assembly growth.
- turn_idstringrequired
- usableinteger· uint64requiredmin 0
The input budget the window was fit into.
- usageany of
Actual provider usage for this generation, stamped after the terminal frame; absent when the provider returned none (or the generation never completed).
Show 2 nestedHide nested
any of (2)Variant 1- cache_readinteger· uint64min 0
- cache_writeinteger· uint64min 0
- cost_usdnumber· double
- inputinteger· uint64min 0
- outputinteger· uint64min 0
- reasoninginteger· uint64min 0
Variant 2valuenull
Variant 2valuenull - cost_usdnumber· doublerequired
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- depthinteger· uint32requiredmin 0
- function_call_errorsinteger· uint64requiredmin 0
- function_callsinteger· uint64requiredmin 0
- input_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- output_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- parent_session_idstring
- reasoning_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- session_idstringrequired
- turnsinteger· uint64requiredmin 0
- completebooleanrequired
- root_session_idstringrequired
- totalsobjectrequired
- cache_read_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- cache_write_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- cost_usdnumber· doublerequired
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- function_call_errorsinteger· uint64requiredmin 0
- function_callsinteger· uint64requiredmin 0
- input_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- output_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- reasoning_tokensinteger· uint64requiredmin 0
Summed over every generation that reported it. A single generation without the counter (a stream the provider cut before usage came back) is left out of the sum. `null` means no generation reported it or more than one did not — never a measured zero, so the key is always present and a reader can tell the two apart.
- sessionsinteger· uint64requiredmin 0
- turnsinteger· uint64requiredmin 0
- tracesany of
Trace/span aggregates when the engine's in-memory observability exporter is available. Usage metrics remain available when it is not.
any of (2)Variant 1- by_sessionobject[]required
Show 7 nestedHide nested
- depthinteger· uint32requiredmin 0
- duration_msinteger· uint64requiredmin 0
Elapsed window from the session's first observed span to its last.
- error_span_countinteger· uint64requiredmin 0
- parent_session_idstring
- session_idstringrequired
- span_countinteger· uint64requiredmin 0
- trace_countinteger· uint64requiredmin 0
- duration_msinteger· uint64requiredmin 0
Elapsed window from the first observed span to the last observed span.
- error_span_countinteger· uint64requiredmin 0
- span_countinteger· uint64requiredmin 0
- trace_countinteger· uint64requiredmin 0
Distinct traces across the root session and all descendants.
Variant 2valuenull
- outputunknownrequired
- rolestringrequiredenum control, treatment
- run_idstringrequired
- session_idstringrequired
- detailsunknown
- passedbooleanrequired
- reasonstring
- scorenumber· double