M5a plan, task 04: check.rs given complete; later tests use no tags

Task 04's second session stopped too. It checked its code against the
markup test cases in its reasoning, and the tag it spelled out ended
its reasoning. Building tags from pieces keeps them out of files, not
out of the model's thoughts.

check.rs is now given whole, with the tags from pieces, and task 04
fills only entries.rs. The three later tests that used a tag only as
something the check refuses now use an instruction phrase or an
invisible character. They pass against the reference.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-25 16:41:44 -07:00
committed by kyle
co-authored by Claude Opus 5.5
parent 8328e8f607
commit 178484a981
6 changed files with 61 additions and 37 deletions
+18 -9
View File
@@ -52,7 +52,7 @@ the skeletons were cut (tip T25).
| 01 | `01-brokerd-split.md` | `policy/` and `ledger/` as modules; no behaviour change | the existing ones | reference |
| 02 | `02-proto-memory.md` | the tools' arguments, eight message kinds | `memory_args.rs`, `memory_wire.rs`, 8 fixtures | reference; 5 mutations caught |
| 03 | `03-memoryd-crate.md` | the crate, configuration, `listen`, `rusqlite` | `config.rs`, `socket.rs` | reference; `cargo deny` |
| 04 | `04-memoryd-entries-check.md` | entries, the check | `entries.rs`, `check.rs` | reference; 8 mutations caught |
| 04 | `04-memoryd-entries-check.md` | entries; the check given complete | `entries.rs`, `check.rs` | reference; 8 mutations caught |
| 05 | `05-memoryd-files.md` | the files, the block | `files.rs` | reference; 6 mutations caught |
| 06 | `06-memoryd-edits.md` | notes, the five actions, routing by trust | `edit.rs`, `notes.rs` | reference; 11 mutations caught |
| 07 | `07-memoryd-journal.md` | the journal, undo, review | `journal.rs` | reference; 5 mutations caught |
@@ -70,14 +70,23 @@ the gate at its end state on its own.
## Changes during the run
- 2026-09-24, task 04: tasks 01 to 03 committed, each on its first session. Task 04's session read
the given test and the skeleton, which held chat-template tags literally (the opening and
closing think and tool-call tags, and the vertical-bar delimiters) because the check refuses
them. Ornith took them for its own template, its reasoning ended mid-thought, and it lost track
of the file; no change was made. The tags are now built from pieces in `check.rs` and in the four
given tests that held them (`check.rs`, `edit.rs`, `files.rs`, `serve.rs`), and the spec
describes them in words. The rewritten tests pass against the reference, are rustfmt-clean, and
still catch the case-folding mutation. Resume from task 04.
- 2026-09-24, task 04, first stop: tasks 01 to 03 committed, each on its first session. Task
04's session read the given test and the skeleton, which held chat-template tags literally,
because the check refuses them. Ornith took them for its own template. Its reasoning ended
mid-thought, it lost track of the file, and it made no change. The tags were then built from
pieces in `check.rs` and the four given tests that held them, and the spec describes them in
words (e40906f).
- 2026-09-24, task 04, second stop: this time Ornith copied the files and saw the tests fail, then
checked its planned code against the markup test cases in its reasoning, spelling out the tags as
it went. The tag it wrote ended its reasoning; what followed became its answer, and the turn
ended with no tool call. Building the tags from pieces keeps them out of files, not out of the
model's thoughts. So `check.rs` is now given complete (the reference's, tags from pieces), and
task 04 fills only `entries.rs` and says not to work through the markup cases. The three later
tests that used a tag only as something the check refuses (`edit.rs`, `files.rs`, `serve.rs`)
now use an instruction phrase or an invisible character. They pass against the reference and
are rustfmt-clean. The attempt is saved in `.state/runs/M5a/04-attempt-2/`. Resume from task
04. The measurements behind this are in `docs/research/2026-09-24-chat-template-tokens.md`,
added after the run.
## Running it