- What can the runner construct or call? Agent construction and runtime behavior provide Sandbox access, tracing, session continuation, and HITL.
- What conclusions can assertions trust? Every Agent declares the completeness of six evidence channels with the required
evidenceCoveragefield.
capabilities field on defineAgent or defineSandboxAgent. That does not mean there is nothing to declare: evidenceCoverage is required on both definitions so missing evidence never becomes an implicit fourth state.
Construction and runtime capabilities
The required six-channel declaration
defineAgent and defineSandboxAgent both require an EvidenceCoverage value:
completeEvidenceCoverage only when the adapter really captures every channel completely. Official converters expose a coverage declaration for the protocol they normalize; a manual mapping must declare all six channels honestly:
Turn.evidenceCoverage is an optional per-turn downgrade. List only channels that were worse than the Agent default for that turn, such as a stream that disconnected before usage arrived. Omitted channels inherit the Agent declaration; a Turn cannot upgrade it.
How coverage changes an assertion result
Coverage prevents missing telemetry from looking like proof that nothing happened:
An
unavailable assertion is always recorded with a machine-readable reason. It is never silently discarded or folded into a pass:
- a non-optional unavailable assertion makes the Attempt
errored; - an assertion explicitly chained with
.optional()stays visible as unavailable but does not affect the Verdict.
unavailable. Judge is therefore not “always available.”
What happens when a manual mapping misses events
If a manual mapping claimsevents or actions are complete while omitting events, negative assertions can appear to pass on an incomplete picture. That is a false completeness declaration. Declare partial or unavailable with a reason until the mapping covers success, failure, rejection, and concurrent tool lifecycles.
Official converters guarantee only the protocol surface stated by their contract. OTel spans cannot repair an incomplete event mapping: spans feed the waterfall, never assertions.
Related reading
- Events reference — the standard event stream contract.
- Adapter concept — the full
ctx/Turncontract. - defineAgent and defineSandboxAgent — Agent fields and examples.
- Assertions — unavailable,
.optional(), and Verdict propagation. - OTel integration — why spans feed visualization rather than assertions.
- Built-in agent capabilities — what each built-in adapter captures.