M4a tasks 08 and 09: finer skeletons after task 08's session wrote nothing
Task 08's `header` was one todo!() with a dozen branches; Ornith planned it in its head until the turn ran out (tip T25). `next_message` and `header` are now written as glue over seven small helpers, and task 09's `poll` over four, each checked to pass when filled from its comments. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,20 @@ checked to compile against its task's tests and fail them.
|
||||
|
||||
At the end of task 15: about 762 tests (650 before task 01).
|
||||
|
||||
## Changes during the run
|
||||
|
||||
- 2026-09-23, task 08: tasks 01 to 07 committed; task 08's session ended with nothing written. It
|
||||
planned all four `todo!()`s in its head, most of it deliberating how to avoid indexing, and was
|
||||
cut off (tip T25, again: `Decoder::header` has a dozen branches and was one `todo!()`). The
|
||||
tree also had `handshake.rs` with its imports in 2021-edition order, which no logged command
|
||||
explains; it was reverted. The attempt is saved in `.state/runs/M4a/08-first-attempt.diff`.
|
||||
The design model split the skeleton: `next_message` and `header` are now written as glue, over
|
||||
seven helpers of a few lines each whose comments give the exact expressions. The same was done
|
||||
for task 09's `poll` (glue over four helpers) before it could stop the same way. Both new
|
||||
skeletons were checked in a scratch copy of the branch: they compile and fail their tests, and
|
||||
filled literally from their comments they pass (7 of 7, 10 of 10 five times), clippy clean, gate
|
||||
ok. Resume from task 08.
|
||||
|
||||
## Running it
|
||||
|
||||
```sh
|
||||
|
||||
Reference in New Issue
Block a user