review: M5d-2 task 11 closed finding 1

Co-Authored-By: Grok 4.6 <noreply@x.ai>
This commit is contained in:
2026-10-03 18:30:22 -07:00
co-authored by Grok 4.6
parent 30608995ca
commit 338df8294b
3 changed files with 30 additions and 11 deletions
+3 -3
View File
@@ -34,9 +34,9 @@ sections 3, 8, 9, 10 and 13) is done, reviewed in `docs/implementer-log.md` and
straylight against rift; no finding is open. M5d (scheduler and compaction, spec straylight against rift; no finding is open. M5d (scheduler and compaction, spec
`docs/specs/2026-10-03-m5d-scheduler.md`) is split: M5d-1 (epochs and compaction) is done, `docs/specs/2026-10-03-m5d-scheduler.md`) is split: M5d-1 (epochs and compaction) is done,
reviewed in `docs/implementer-log.md` and checked on straylight (spec 7); no finding is open. reviewed in `docs/implementer-log.md` and checked on straylight (spec 7); no finding is open.
M5d-2 (heartbeat, cron, ToolSummary, live-slot isolation) is done on branch `m5d2` at `85f70de`, M5d-2 (heartbeat, cron, ToolSummary, live-slot isolation) is done on branch `m5d2`, reviewed in
reviewed in `docs/implementer-log.md`; finding 1 is task 11 (`docs/plans/M5d2/11-loopd-heartbeat-failed-last.md`). `docs/implementer-log.md`; finding 1 closed by task 11. The spec 7 device check on straylight is
The spec 7 device check on straylight is not yet run. not yet run.
P22 (proposed, not applied) makes Boxmaker a fleet of P22 (proposed, not applied) makes Boxmaker a fleet of
independent agents, one per host, deployed with Nix in a last milestone, M8; `flake.nix` builds independent agents, one per host, deployed with Nix in a last milestone, M8; `flake.nix` builds
every binary, the tool image and a dev shell. Work happens on titan (macOS, no Nix); build and run every binary, the tool image and a dev shell. Work happens on titan (macOS, no Nix); build and run
+7 -7
View File
@@ -178,10 +178,10 @@ code difference from the reference is an equivalent rewrite in `compact.rs`. Ext
a pass (I18) and a log row inserted among M4b (I19) were process only. The device check passed a pass (I18) and a log row inserted among M4b (I19) were process only. The device check passed
spec 7 on the second run, after a trusted identity write then a tainted recall. spec 7 on the second run, after a trusted identity write then a tainted recall.
M5d-2 was Ornith through the driver, ten tasks. Task 01 stopped twice (wrong branch, then a M5d-2 was Ornith through the driver, ten tasks then follow-up task 11. Task 01 stopped twice
last-digit test count) and finished on resume after T50/T59. Task 06 made no commit twice (wrong branch, then a last-digit test count) and finished on resume after T50/T59. Task 06 made
(context exceeded: whole implementer log, then crate exploration) and finished after T62/T63. no commit twice (context exceeded: whole implementer log, then crate exploration) and finished
Tasks 07 to 10 then ended cleanly. Product code matches the reference except heartbeat after T62/T63. Tasks 07 to 10 then ended cleanly. Finding 1 (`last_heartbeat` only on Ok) was
`last_heartbeat` only on Ok (finding 1, I20, T64). Clippy first-gate on 05 and 06, USAGE indent closed by task 11 (I20, T64): first-gate pass, H1 as quoted. Clippy first-gate on 05 and 06,
on 10, an extra gate on 04 (I18), and a duplicated 03 log row (I19). Device check not in that USAGE indent on 10, an extra gate on 04 (I18), and a duplicated 03 log row (I19). Device check
review. not yet run.
+20 -1
View File
@@ -1089,7 +1089,7 @@ next.
| # | Severity | Where | Finding | Resolution | | # | Severity | Where | Finding | Resolution |
|---|---|---|---|---| |---|---|---|---|---|
| 1 | product | `crates/loopd/src/scheduler.rs` heartbeat | After `run_turn` / `finish_turn`, `last_heartbeat` and `TickWork::Heartbeat` are set only when `outcome.is_ok()`. Task 06 and the reference set them after the turn regardless. A failed pulse is due again on the next 1 s tick and would hammer the shared server. Given tests all succeed via the fake server. | Fix before land: set both after the turn, as the task lists. | | 1 | product | `crates/loopd/src/scheduler.rs` heartbeat | After `run_turn` / `finish_turn`, `last_heartbeat` and `TickWork::Heartbeat` are set only when `outcome.is_ok()`. Task 06 and the reference set them after the turn regardless. A failed pulse is due again on the next 1 s tick and would hammer the shared server. Given tests all succeed via the fake server. | Closed by task 11. |
| 2 | process | implementer (task 01) | Two `stopped` rows: first on `master` before `m5d2` existed; second on a greedy `sed` that turned 1512 into 1022. The work was correct. Plan fix `2a48b7f` (T50/T59); resume committed T1. | T50; do not sum `test result:` | | 2 | process | implementer (task 01) | Two `stopped` rows: first on `master` before `m5d2` existed; second on a greedy `sed` that turned 1512 into 1022. The work was correct. Plan fix `2a48b7f` (T50/T59); resume committed T1. | T50; do not sum `test result:` |
| 3 | process | implementer (task 06) | Two sessions hit OpenCode `Context size has been exceeded` with no commit: first by reading the whole implementer log; second by listing `tests/` and reading supporting crate modules before the `cp`. | T62, T63; plan fix `4dd3b87` | | 3 | process | implementer (task 06) | Two sessions hit OpenCode `Context size has been exceeded` with no commit: first by reading the whole implementer log; second by listing `tests/` and reading supporting crate modules before the `cp`. | T62, T63; plan fix `4dd3b87` |
| 4 | process | implementer (tasks 04, 05, 06, 10) | Extra gate after a first-gate pass on 04 (I18). First-gate clippy/USAGE fails on 05, 06, 10, fixed and rerun. Task 04's commit also duplicated 03's `done` row. | I18 seen again; duplicate row removed here | | 4 | process | implementer (tasks 04, 05, 06, 10) | Extra gate after a first-gate pass on 04 (I18). First-gate clippy/USAGE fails on 05, 06, 10, fixed and rerun. Task 04's commit also duplicated 03's `done` row. | I18 seen again; duplicate row removed here |
@@ -1108,3 +1108,22 @@ Open items carried forward: finding 1 above; the M5c-2 items still open (rift at
the README lists them: no Mattermost delivery of heartbeat or cron answers; DOM and DOW are AND; the README lists them: no Mattermost delivery of heartbeat or cron answers; DOM and DOW are AND;
tool-summary inference holds the session; job files that go invalid after start are skipped that tool-summary inference holds the session; job files that go invalid after start are skipped that
tick; identity rows in `Tiers` list with 0 hits. tick; identity rows in `Tiers` list with 0 hits.
### M5d-2, task 11 — reviewed 2026-10-03 by the design model (Grok 4.6)
Accepted. Finding 1 is closed. Ornith-1.5-35B-A3B through `tools/run-plan.sh` on `m5d2`. H1 matches
the quoted after block: `let _ = compact::finish_turn(...)`, then `drop(held)`, then
`last_heartbeat` and `TickWork::Heartbeat` with no `is_ok` gate. The unreadable-prompt and busy
returns are unchanged. Cron still records `Finished` / `Failed` from the job outcome. The given
test is byte-identical to `docs/plans/M5d2/files/`. Trailer
`Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev>`. First gate pass. No product finding.
| Check | Result |
|---|---|
| Commit `3060899`, listed paths only | pass |
| Given test byte-identical; `a_failed_heartbeat_turn_still_advances_last_heartbeat` plus the six existing heartbeat tests and six cron tests | pass |
| Protected files untouched | pass |
| Log row | 1 `done`, first gate pass, under the header |
| `make gate` | `gate: ok`, 1575 tests |
The spec 7 device check on straylight is still next.