73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
# 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 `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 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
|
|
|
|
```markdown
|
|
## 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.
|
|
|
|
```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.
|