# 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. `--run.md`). Each phase appends to it. The phase reviewer reads it; a successor Athanor starts from it. Rules: - Take every time from `date` when 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 ```markdown # Run log — - Plan: · Build plan: - Branch: · Start commit: - Trunk notes: - Gremlins: (or "none: ") - Athanor: · Session journal: ``` A successor Athanor finds the state dir on the `Gremlins:` line and adopts it (`list`); it never re-runs `init`. ## Per phase ```markdown ## Phase — | 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. ```markdown ### 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) ```markdown ### 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.