docs: the M5c-1 review, tips T50 to T58, and AGENTS.md rules from the run
The review of tasks 01 to 15 in the implementer log, with the six findings fixed in review. Nine tips for writing tasks from the run's transcripts and the review, new evidence for I16 and I17, and four rules in AGENTS.md: the Cargo registry is outside the repository, `git stash -u` and the README's flaky tests, an edit never anchors on another line, and what a test count includes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -876,3 +876,39 @@ fourteen tasks, one of them 23 edits long. It wrote 16 small helpers of a Markdo
|
||||
their comments; the one real slip (finding 1) is a rule the tests did not pin. Its own `Out::wrap`
|
||||
wrote the `\n` of a `\r\n` twice; it fixed that when the resume prompt named it. Task 07's session
|
||||
proved a failing `brokerd` test flaky before re-running the gate instead of changing it.
|
||||
|
||||
### M5c-1, tasks 01 to 15 — reviewed 2026-09-28 by the design model (Claude)
|
||||
|
||||
Accepted, with fixes made in review (below). Tasks 01 to 15 by Ornith-1.5-35B-A3B through
|
||||
`tools/run-plan.sh`, run on talos with no intervention, 2026-09-28 10:11 to 13:42 (about 3.5
|
||||
hours). The branch differs from the reference (`~/boxmaker-refs/m5c1-ref.bundle` on straylight,
|
||||
`c1345e4`) in six files of `memoryd::honcho` only (`client.rs`, `config.rs`, `ledger.rs`,
|
||||
`mirror.rs`, `report.rs`, `worker.rs`), each difference an equivalent rewrite; `config.rs`'s
|
||||
`check_url` and `check_keys` were checked by hand on an empty port, a second colon and a key that
|
||||
is neither an own nor a read key. The device check (spec, section 13, the M5c-1 part) is still to
|
||||
do.
|
||||
|
||||
| Check | Result |
|
||||
|---|---|
|
||||
| 15 task commits, each with `Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev>` | pass |
|
||||
| Runbook and dependency files identical to the reference | pass |
|
||||
| Log rows | 15, all `done`, first gate pass in every row; counts in rows 10 and 12 lower than the runs in the transcripts (I17) |
|
||||
| `make gate` on talos (rustc 1.98.1) | `gate: ok`, 1345 tests at task 15, the plan's count; 1364 after the review's six fixes |
|
||||
| Independent review of `git diff master m5c1 -- crates` against the spec | six findings, below; sound: the turn decision, the ledger, the lock order, keys and bodies never logged, `state.sock`'s reach, the crate and file-size rules |
|
||||
|
||||
| # | Severity | Where | Finding | Resolution |
|
||||
|---|---|---|---|---|
|
||||
| 1 | high | plan (tasks 12, 13; the reference too) | Memory writes from a `secret` session were mirrored: `brokerd`'s built-in memory grant allows writes at `secret`, and neither the notes (`Noted.class`) nor the journal (no class at all) were checked, so a clean secret session's note became a trusted conclusion and an untrusted one a fleet message. Breaks spec section 3 ("nothing above `private` is written"). | Review `b392af9`: the journal records each call's class; a secret write sends only its deletions and one Skip; `tests/honcho_mirror_secret.rs`; tip T58 |
|
||||
| 2 | medium | plan (task 12) | Undoing a `consolidate` concluded each moved entry again, so a later removal deleted the new conclusion and left the first in Honcho for good. | Review `7c207f6`: an undo concludes again only an entry whose latest decided conclusion was deleted (`honcho/concluded.rs`), which also keeps an undo from concluding a secret write's entries; `tests/honcho_mirror_undo.rs` |
|
||||
| 3 | low | plan (task 12) | A memory write never woke the worker, so an undo or accept waited out the 30 s idle sleep; the spec says "at once". | Review `3dd95c5`: `tests/honcho_wake_serve.rs` |
|
||||
| 4 | low | plan (tasks 11, 14) | `bxctl memory sync` showed neither a refused key nor an outage, which spec sections 10 and 13 require. | Review `3d266df`: a shared leaf-locked `Status` (refused keys, Honcho outage, `brokerd` unanswered, log unreadable) in the report; every Honcho runbook entry now says what sync shows; `tests/honcho_status.rs` |
|
||||
| 5 | low | plan (task 08) | One invisible character inside a key split it for the secret rules (masked to a space), so the turn was sent. | Review `bd4cf9f`: the rules also run on the text with those characters deleted; `tests/honcho_decide_hidden.rs` |
|
||||
| 6 | low | plan (task 11) | Any error reading a session log marked the turn failed for good, a passing I/O error included. | Review `5e57cd6`: an error other than NotFound is waited out with its own backoff and status line; a missing or damaged log still fails; `tests/honcho_worker_log.rs` |
|
||||
| 7 | low | tests (M4a) | gatewayd's `brokerd_closing_first_ends_it_as_no_longer_pending` fails 2 of 10 runs on a loaded talos without any M5c-1 change: the handler can hold the answer's receiver after `Ended`. loopd's `pointers` failed once under load in task 15. | Open; listed in the plan README; tip T52 |
|
||||
| 8 | low | Ornith (task 12) | A "before" block did not match after its own earlier edit reordered imports; it anchored on its own line and logged no deviation. | Noted; AGENTS.md rule; tip T54 |
|
||||
| 9 | nit | plan (every task) | Every task said to run `git switch m5c1`, which AGENTS.md forbids and the harness refused. The gate count in every task's stop list did not say it includes the ignored `end_to_end` test, which cost tasks 03, 13 and 15 much of their time. | Tips T50, T51; AGENTS.md now defines the count |
|
||||
|
||||
What was good: every given file and every whole edit arrived exactly as written, fifteen tasks in
|
||||
a row with no stop, including task 15's thirty edits over seventeen test files. Where Ornith filled
|
||||
bodies from comments, the code agreed with the reference in behaviour everywhere checked. All six
|
||||
findings were in the plan, and the reference had each of them.
|
||||
|
||||
Reference in New Issue
Block a user