Accept M1 follow-ups; add implementer lessons and promote four rules to AGENTS.md

Tasks 08 and 09 pass the checklist and the reviewer's probes, so M1 is
complete. docs/implementer-lessons.md turns the review findings into
tips for the implementer and for task writing, each tied to its
evidence, with a column to record whether the defect comes back.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 10:19:06 -07:00
co-authored by Claude Fable 5.1
parent 46d26e868b
commit 57bfc62236
4 changed files with 109 additions and 5 deletions
+12
View File
@@ -39,6 +39,18 @@ Unix sockets. You are implementing it one task at a time.
- Keep struct fields and enum variants in the order the task gives. The order is the wire format.
- Comments say why, not what. Match the amount of commenting you see in the task's examples.
## Lessons from earlier reviews
These come from defects found in review. The evidence is in `docs/implementer-lessons.md`.
- When a rule says "every" or "everywhere", finish by listing each place it could apply (every
struct and enum in the file, every script, every branch) and check them one by one. An example
in a task shows one place; the rule covers all of them.
- A check must fail when it cannot do its job: missing input, unreadable file, a tool that errors.
Never throw errors away with `2>/dev/null`, `|| true` or an ignored `Result`.
- Report every problem you find, not only the first.
- Log every attempt, including one you abandon.
## The gate
`make gate` must print `gate: ok` before a task is done. It runs offline: rustfmt, clippy with