- What can the Runner construct or call? An Agent’s construction and runtime behavior provide Sandbox access, tracing, session continuation, and HITL.
- What conclusions can assertions trust? Every Agent must use
evidenceCoverageto declare the completeness of six evidence channels.
capabilities field on defineAgent / defineSandboxAgent. That does not mean “nothing needs to be declared”: evidenceCoverage is required on both definitions so missing evidence never becomes an ambiguous fourth state.
Construction and runtime capabilities
The required six-channel declaration
BothdefineAgent and defineSandboxAgent require an EvidenceCoverage:
completeEvidenceCoverage only when the Adapter really captures every channel completely. An official converter provides its coverage declaration for the protocol it normalizes. A manual mapping must state all six channels honestly:
Turn.evidenceCoverage is an optional per-turn downgrade. List only channels that are worse for that turn than the Agent default, such as when a stream ends before usage arrives. Omitted channels inherit the Agent declaration. A Turn cannot upgrade the default coverage.
How coverage changes assertion results
Coverage prevents “not collected” from looking like “confirmed not to have happened”:
An
unavailable assertion is always persisted 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()remains 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 misses events but declaresevents or actions complete, negative assertions can appear to pass on an incomplete picture. That is an incorrect completeness declaration. Until the mapping covers successful, failed, rejected, and concurrent tool lifecycles, declare partial or unavailable honestly and give a reason.
An official converter guarantees only the surface its protocol contract explicitly covers. OTel spans cannot repair an incomplete event mapping: spans go only to the waterfall, not assertions.
Related reading
- Event stream reference — the standard event stream contract.
- Adapter concepts — the full
ctx/Turncontract. - defineAgent and defineSandboxAgent — Agent fields and examples.
- Assertions — unavailable,
.optional(), and Verdict propagation. - OTel integration — why spans feed visualization only, not assertions.
- Built-in Agent capabilities — what each built-in Adapter actually captures.