Trace capture
When enabled, trace capture records bounded call metadata. Coverage depends on the execution path and configuration.
The table describes the episode emitter. A declared type does not prove that an event was recorded for a run.
| Event | Emitter support | Fields | Execution path |
|---|---|---|---|
agent_turn | Implemented | Agent identity, timing, status | Episode trace emitter |
model_call | Implemented | Model identity, timing, token counts when available, hashes | Episode model calls |
judge_call | Implemented | Judge identity, timing, token counts when available, hashes | Episode judge calls |
sandbox_action | Implemented | Tool name, argument hash, bounded outcome, timing | Episode executor sandbox actions |
error | Implemented | Error code, sanitized message, timing | Episode trace emitter |
tool_call | Not emitted | No generic tool event emitted by the episode emitter | Declared type |
optimizer_step | Not emitted | No optimizer event emitted by the episode emitter | Declared type |
callback | Not emitted | No callback event emitted by the episode emitter | Declared type |
Capture conditions
Capture requires TRACE_CAPTURE_ENABLED=true and an allowed run type in TRACE_CAPTURE_RUN_TYPES. The run-type default is none.
These defaults do not establish production availability. Per-run authorization and execution policy can also prevent capture.
Limits and export
The episode emitter records hashes instead of prompt text and tool arguments. It does not record hidden model reasoning.
Sandbox actions contain bounded outcome metadata. Their nested tool metadata is not a generic tool event.
Capture is best effort. Missing events, dropped events, and write failures can prevent complete reconstruction. Traces are not tamper-proof audit records.
The trace panel provides an authorized JSON export. Export availability depends on access to the episode and its trace.
Operational retention and deletion guarantees are not yet verified here. A stored retention setting alone does not prove deletion.