out/diary/The running log of the run, written as the analyst works.
Files NN-k.jsonl, one series per stage. Each line:
t (UTC time), stage, leg (from
.leg), kind, ids,
text. A part rolls to the next number at 1,500 words. The
kinds: opened, dropped, merged, split, kept, move, abductive, question,
comparison, note, helper, minted, placed, unplaced, pause, and any kind
a stage file names in a log --kind line. A leg's closing
line summarises it in three sentences.
The analyst, only through mem.py log;
mem.py mint, place and unplace
log their own kinds. pretool_guard.py blocks Write, Edit
and shell writes into out/diary/. Read with
mem.py diary --last N (default 5) or
--grep <id>.
Rule 20: "A diary written at the close from memory is a reconstruction and is not a diary." STANDING §2: "The diary is not read whole by anyone"; the last five entries start every leg, and E1 computes over it and checks it against the transcripts.
Checked against: tools/mem.py, harness/pretool_guard.py, CONTRACT-aggregator.md rule 20, STANDING-INSTRUCTIONS.md §2, stages/STAGE-E1-formalizing-audit.md.