review: M5c-2 review, lessons T59 and T60, and the gate-count rule
Co-Authored-By: Grok 4.6 <noreply@x.ai>
This commit is contained in:
@@ -942,3 +942,56 @@ What was good: every given file and every whole edit arrived exactly as written,
|
||||
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.
|
||||
|
||||
### M5c-2, tasks 01 to 12 — reviewed 2026-10-02 by the design model (Grok 4.6)
|
||||
|
||||
Accepted, with one test-only fix made in review (below). Tasks 01 to 12 by Ornith-1.5-35B-A3B
|
||||
through `tools/run-plan.sh`, run on talos 2026-09-28 to 2026-09-29, device-checked on straylight
|
||||
2026-10-02 (UTC 2026-10-03). The branch differs from the reference (`~/boxmaker-refs/m5c2-ref.bundle`
|
||||
on straylight, `d051c89`) in three skeleton bodies only (`honcho/recalled.rs`, `search.rs`,
|
||||
`ask.rs`), each an equivalent rewrite; `read.rs`, `client.rs`, `config.rs` and `start.rs` match
|
||||
the reference, including task 05's `read.rs` against both the given file and the reference.
|
||||
|
||||
| Check | Result |
|
||||
|---|---|
|
||||
| 12 task commits, each with `Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev>` | pass |
|
||||
| Runbook and `Cargo.toml` / `Cargo.lock` identical to the reference | pass |
|
||||
| Log rows | 12, all `done`; first gate pass in every row (task 01 ran the gate twice, both pass) |
|
||||
| `make gate` on talos (rustc 1.98.1), 2026-10-02 | `gate: ok`, 1454 tests at task 12, the plan's count; 1456 after the review's two tests |
|
||||
| Independent review of `git diff master m5c2 -- crates` against the spec (T58) | one finding, below; sound: fleet and untrusted-read hits taint, a trusted read workspace's do not; own workspaces never searched by `recall`; a key-shaped query or question sends nothing; no Honcho call under the state lock; keys and bodies never logged; Honcho and local text one indented line (T37); `ask_memory` at most two workspaces at `minimal`; waits 170 s / 180 s |
|
||||
|
||||
Task 05's run log `.state/runs/M5c2/05-memoryd-honcho-readers.log` is a resume after HEAD was
|
||||
already at task 12 (power loss wiped the original transcript). Commit `b370c60` matches the task
|
||||
and the reference; Laguna did not re-commit. Task 06's row records an import reorder by the edit
|
||||
layer, restored to rustfmt's order before the commit; `d8c396e` only adds `pub mod recalled` and
|
||||
makes `when` `pub(crate)`. The `honcho_worker` flake listed in the plan README did not fire.
|
||||
|
||||
| # | Severity | Where | Finding | Resolution |
|
||||
|---|---|---|---|---|
|
||||
| 1 | medium | plan (task 12; the reference too) | Spec 8 and 13: a `secret` session's `recall` and `ask_memory` still query Honcho. `serve.rs` ignores `MemoryCall.taint` on those paths, and the unit tests cover `has_secret`, but nothing at the serve layer against the fake Honcho pinned a `secret` taint (T58). | Review `f808426`: `a_secret_session_still_asks_honcho` in `honcho_recall_serve.rs` and `honcho_ask_serve.rs` |
|
||||
| 2 | nit | tests | A few recall tests share the fleet fixture with a read-agent workspace, so they do not isolate an untrusted read-agent from the fleet. Behaviour is still labelled by source. | Noted |
|
||||
| 3 | process | driver (task 05) | A power-loss resume truncated the task's run log and continued from HEAD at task 12. The commit itself is complete. | Tip T60; AGENTS.md: stop if the task's commit and a `done` row are already in HEAD |
|
||||
|
||||
Device check, 2026-10-02, on straylight (a `nix build` of `m5c2` at `f808426`; Ornith slot 0;
|
||||
gatewayd connected to the owner's Mattermost as `boxmaker0`; recall and `ask_memory` were driven
|
||||
by `bxctl chat --say`, not a Mattermost post; rift, in the check's workspaces only,
|
||||
`boxmaker-check-*` and `boxmaker-check2-*`, deleted afterwards). Every item of the spec's section
|
||||
13 for M5c-2 passed:
|
||||
|
||||
| Check | Result |
|
||||
|---|---|
|
||||
| Agent 2 writes a fleet note | `MemoryCall` with `untrusted: true` to agent 2's `run/broker-memory/memory.sock`; in `boxmaker-check-fleet` as peer `boxmaker-check2`, text `M5c2-check: boxmaker-check2 tea stocks are low`, within 2 s |
|
||||
| `recall` of that note | Direct `MemoryCall` and a `bxctl chat` turn: `[1] memory-tainted · fleet: boxmaker-check2 said, 2026-10-03 03:18 UTC · private`; `TurnDone.untrusted` true |
|
||||
| `ask_memory` of `own` | First `bxctl` turn: `own: unavailable` (HTTP 404; the trusted workspace did not exist yet, the same answer the tests give a missing workspace). After that turn had been mirrored: `[1] memory · own · private` with a dialectic paragraph, within the limit; `TurnDone.untrusted` false |
|
||||
| Honcho unreachable | agent 1's `memoryd` restarted with `HONCHO_URL=http://127.0.0.1:1`; `recall` of `tea stocks` returned two local hits plus `boxmaker-check2: unavailable` and `fleet: unavailable`; log: `Honcho is unreachable (connect)` |
|
||||
| `make verify-device` | 6 passed in 24 s, `verify-device: ok` (slot 0, `UPSTREAM=127.0.0.1:11434`); the baseline with `ask_memory`'s schema still fits the 3,000-token budget |
|
||||
|
||||
What was good: twelve tasks, first-gate pass in every row, no stop, skeletons filled to match the
|
||||
reference in behaviour. The one product finding was a missing test of a path the code already
|
||||
took.
|
||||
|
||||
Open items carried forward: rift's dialectic at `reasoning: low` still returns raw tool-call
|
||||
markup (`ask_memory` stays at `minimal`); turn numbers restart per epoch; a `bxcore` function for
|
||||
`sanitize::refuse`'s secret rules to replace `has_secret`; Mattermost usernames `a.b` and `a_b`
|
||||
map to the same Honcho peer; queries from `secret` sessions go to Honcho on the assumption in
|
||||
spec 8 and `docs/egress.md`.
|
||||
|
||||
Reference in New Issue
Block a user