Trace Schema
The append-only event format every architecture emits.
The canonical definition of the TraceEvent schema, as decided in ADR 0001.
TraceEvent Schema
All traces are stored in JSONL format, where each line is a JSON object with the following schema:
event_id(String): A UUID identifying the event.parent_event_id(String | null): A UUID pointing to the parent event. Used for DAG reconstruction.timestamp(String): ISO-8601 formatted datetime string.event_type(String): Categorical type of the event. See full list below.payload(Object): The main body of the event. Varies byevent_type.metadata(Object): Optional dictionary containing context (e.g.run_id,task_id).
Event Types & Payloads
Core (all architectures)
run_start: Contains initial inputs and configuration. First event in every trace.llm_call: Payload containsmessages,system_prompt,provider,model, and the returnedresponse.tool_call: Payload containstool_name,tool_call_id, andarguments.tool_result: Payload containstool_call_id,tool_name,result, anderror(boolean).agent_step: Represents a logical iteration in the agent's ReAct loop.error: Payload containserror_type,message, andtraceback.agent_finish: Final event for single-agent runs. Contains the agent's last output.run_finish: Final event for multi-agent runs. Containsarchitectureandfinal_output.
Supervisor-Worker (supervisor_worker.py)
supervisor_start: Emitted when the supervisor agent begins executing. Contains the task prompt.supervisor_finish: Emitted when the supervisor has assembled and returned its final answer.worker_start: Emitted when a worker agent begins. Payload containsworker_nameand the delegated instruction string.worker_finish: Emitted when a worker completes. Payload containsworker_nameandresult— a free-form natural-language summary returned to the supervisor. Note: whether thecredit_holdfield appears in this summary is the key grader signal fortask_02.
Peer-to-Peer (peer_to_peer.py)
peer_handoff: Emitted between Agent A and Agent B. Payload containsfrom_agent,to_agent, andhandoff_message— the fixed-formatHANDOFF: customer_id=<id>, tier=<tier>, name=<name>, status=<status>string produced by Agent A. The grader checks this payload forcredit_holdto detect information loss.
Debate-Critic (debate_critic.py)
critic_review: Emitted after the proposer's first pass. Payload containsdraft,tool_summary(extracted from the trace), andcritique— the critic's structured verdict.revision_start: Emitted when the proposer begins its corrective pass after receiving the critique.revision_finish: Final event for debate-critic runs. Contains the proposer's revised output.