v0.1 plan: review fixes as failing acceptance tests first; AGENTS.md lessons + deviations rule

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 02:55:57 -07:00
co-authored by Claude Fable 5.1
parent 94b8c84ab5
commit 74e7d4895b
5 changed files with 232 additions and 1 deletions
+12 -1
View File
@@ -41,6 +41,17 @@ implementing it one task at a time.
compile against them.
- Comments say why, not what. `gofmt` decides layout; run it before the gate.
## Lessons from earlier reviews
These come from defects found in review; the evidence is in `docs/implementer-log.md`.
- A type assertion on a value that came from outside your package (`w.(http.Flusher)`, a decoded
JSON field) uses the two-value form and handles the `false` case. An unchecked assertion is a
panic waiting for a caller you did not think of.
- When a rule says "every" or "everywhere", finish by listing each place it applies and checking
them one by one. The task shows one place; the rule covers all of them.
- Never end a turn by describing what you are about to do. Do it, then report.
## The gate
`make gate` must print `gate: ok` before a task is done. It runs offline: `gofmt -l`, `go vet`,
@@ -67,6 +78,6 @@ the commit. Be honest: the log is how the owner judges the process.
| Status | `done` or `stopped` |
| Gate runs | How many times you ran `make gate` |
| First gate | `pass` or `fail` for the first run |
| Deviations | Anything you did that the task did not say, or `none` |
| Deviations | Anything you did that the task did not say, or `none`. If your Notes describe a change you made, it belongs here as well — a row that says `none` next to Notes that describe a change is wrong. |
| Notes | Problems you hit and how you solved them, in one or two sentences |
| Model | Write `?`. The owner fills this in. |