Reference
Trace events
The per-task trace.jsonl — every prompt, response, tool call and result, one JSON object per line.
Every task writes `logs/<task_id>/trace.jsonl`: one JSON object per line, appended and flushed as the run proceeds, so a task that crashes still leaves a readable trace. Each line carries a timestamp, a kind, and a data object.
{"ts": 1757740001.412, "kind": "task_start", "data": {"task_id": "...", "repo_path": "...", "resumed": false}}
{"ts": 1757740009.880, "kind": "plan", "data": {"plan": [], "resumed": false}}
{"ts": 1757740211.004, "kind": "task_end", "data": {"status": "success", "attempt": 1}}The base stream is the model conversation and the tools it drove — model_request, model_response, tool_call and tool_result — bracketed by task_start and task_end. Each mechanism in the loop adds its own kinds on top of that.
Planning and memory
| Event | Recorded when |
|---|---|
| task_start | The run begins — task id, repo, issue text, resume flag, and the config with the key stripped |
| baseline_verify | The target test has run against the pristine copy, before any edit |
| decision_memory | Decision memory was queried for planning — query, matches, section size, or that it was skipped |
| plan | The parsed plan, and whether it was reused from a resume |
| change_groups | The plan declared atomic multi-file change groups |
| coordination | Structural fan-out detection ran over the code graph |
Inside a step session
| Event | Recorded when |
|---|---|
| recall | A RECALL pulled older trace detail back into the session — query and match count |
| batch_call | A BATCH of read-only commands ran concurrently |
| batch_rejected | A BATCH was refused by the allowlist, naming the offending entry |
| tool_error | A failing tool result was classified into one of the stable error kinds |
| lint_failed | The static pass rejected changed files before a verify cycle was spent on them |
| docs_lookup | A DOCS lookup resolved documentation into the session |
Gates and outcome
| Event | Recorded when |
|---|---|
| coordination_gate_rejected | A declared group had some but not all of its files changed |
| coordination_rollback | A group was rolled back together |
| rationale | The grounded paragraph was assembled from this trace |
| git_output | Branch, commit and PR description were produced — verified fixes only |
| task_end | The run ended, with its final status |