Skip to main content
Capabilities answer two separate questions:
  1. What can the runner construct or call? Agent construction and runtime behavior provide Sandbox access, tracing, session continuation, and HITL.
  2. What conclusions can assertions trust? Every Agent declares the completeness of six evidence channels with the required evidenceCoverage field.
There is no separate 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:
Use 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.
Judge availability follows the same Verdict rule but has its own causes: an unresolved Judge model or API key, a failed Judge call, or an unparseable score produces unavailable. Judge is therefore not “always available.”

What happens when a manual mapping misses events

If a manual mapping claims events 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.