3.1 KiB
Run log and handoff notes
The run log is the record of a build: one file per build plan, in the workpad's reports/ folder (name it per the workpad skill, e.g. <YYYY-MM-DD-hh>-<slug>-run.md). Each phase appends to it. The phase reviewer reads it; a successor Athanor starts from it.
Rules:
- Take every time from
datewhen you write it. Never estimate or count forward by feel. - Durations in summaries come from git commit times.
- Stamp the exact model id from your system prompt. If you dispatched an agent and its id is unknown, write "unknown", not a guess.
- Totals stay provisional until the phase review, fix pass and re-check have closed.
Header
# Run log — <plan title>
- Plan: <path> · Build plan: <path>
- Branch: <branch> · Start commit: <hash>
- Trunk notes: <path>
- Gremlins: <state dir> (or "none: <reason>")
- Athanor: <model id> · Session journal: <path>
A successor Athanor finds the state dir on the Gremlins: line and adopts it (list); it never re-runs init.
Per phase
## Phase <N> — <title>
| Block | Owner (model id from modelUsage) | Session | Commit | in | out | cache write | cache read | cost Δ |
|---|---|---|---|---|---|---|---|---|
Gremlin blocks: the row comes from usage --block <id> --format md. Fresh-agent blocks: owner = the model id the agent stamped, Session —, the usage cells —, and the harness's token total in the block's handoff note.
Handoff note (one per block, written by the block's owner)
Same format for everyone. A gremlin writes it to notes/<block>.md in the state dir and the Athanor appends it here; a fresh agent writes it here directly.
### Block <N.M> — <title>
- Model: <exact id>
- Start / end: <`date` output> / <`date` output>
- Done: <what changed, in a few lines>
- Deviations from plan: <what, and why> — or "none"
- Flagged for review: <anything the reviewer should look at, e.g. a semantic you were unsure of>
- Left for later: <work deferred to a later block or phase>
- Expected broken: <areas that do not build or pass yet, and which block fixes them>
- Commits: <hashes>
Phase close (written by the Athanor)
### Phase <N> close
- Gate: <command> — <result>
- Tests: <command> — <result> (fallout fixed in block <N.M>)
- Usage: the `usage --phase <N> --format md` table and its three lines (cold starts, cache-hit ratio, priced total)
- Base state: from `list` (the active base, its warmth, rebase/re-train flags)
- Flags for the reviewer: every deviation and every "flagged for review" line above, one per bullet, with its block.
- Not run / untested: <anything the tests do not cover>
- Status: provisional until review, fix pass and re-check close.
After the review, Igor (or the fixer) appends the review report path, the fix-pass commits, the re-check result, and the minors logged as follow-ups.
Trunk notes (written by the base at training; by a fresh agent where gremlins are unavailable)
Short, for the next agent that has not read the code: key files and seams, invariants the phase touches, every consumer of a changed semantic, the gate command, known traps. A page, not a design document.