docs: M6a device check on straylight
Spec 7: subagent child on slot 2; parent's next turn cache_n 1787 of 1788. Private $HOME, production untouched. Co-Authored-By: Grok 4.6 <noreply@x.ai>
This commit is contained in:
@@ -41,8 +41,9 @@ promoted only a trusted note). M6 (subagents and cloud consult) is approved
|
|||||||
(`docs/specs/2026-10-04-m6-subagents-consult.md`). M6a (`subagent` tool, isolated child on
|
(`docs/specs/2026-10-04-m6-subagents-consult.md`). M6a (`subagent` tool, isolated child on
|
||||||
`slots.background`, scheduler skip, `brokerd` taint inherit; spec
|
`slots.background`, scheduler skip, `brokerd` taint inherit; spec
|
||||||
`docs/specs/2026-10-04-m6-subagents-consult.md` sections 3, 5, 6, 7 M6a and 8; plan
|
`docs/specs/2026-10-04-m6-subagents-consult.md` sections 3, 5, 6, 7 M6a and 8; plan
|
||||||
`docs/plans/M6a/`) is done on branch `m6a`, reviewed in `docs/implementer-log.md`; no finding
|
`docs/plans/M6a/`) is done, reviewed in `docs/implementer-log.md`; no finding is open; spec 7
|
||||||
is open; spec 7 device check on straylight is next. M6b (consult) is later.
|
device-checked on straylight (child `sub-m6a-live-2` on slot 2; following slot-0 turn `cache_n`
|
||||||
|
1787 of 1788). M6b (consult) is later.
|
||||||
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
|
||||||
|
|||||||
@@ -188,3 +188,9 @@ passed spec 7: heartbeat on slot 2, then a following slot-0 turn with `cache_n`
|
|||||||
`jobs/tier.toml` promoted only the trusted note. A long idle gap after the first live turn lost
|
`jobs/tier.toml` promoted only the trusted note. A long idle gap after the first live turn lost
|
||||||
the prefix (unified pool / other occupancy), which is P9, not a mixed-slot bug. `every_s = 20`
|
the prefix (unified pool / other occupancy), which is P9, not a mixed-slot bug. `every_s = 20`
|
||||||
with `last_heartbeat` at tick start re-fired immediately after a long pulse.
|
with `last_heartbeat` at tick start re-fired immediately after a long pulse.
|
||||||
|
|
||||||
|
M6a was Ornith through the driver, five tasks, first-gate pass in every row, no stop. The only
|
||||||
|
code difference from the reference is cosmetic in `subagent.rs`. Device check passed spec 7:
|
||||||
|
child `sub-m6a-live-2` on slot 2, then a following slot-0 turn with `cache_n` 1787 of 1788. The
|
||||||
|
same-turn continuation after a busy-slot wait on 2 lost the prefix (`CacheLoss` 0 of 1672),
|
||||||
|
which is P9; the immediate next turn held it.
|
||||||
|
|||||||
+20
-6
@@ -1159,7 +1159,7 @@ Accepted. No product finding. Ornith-1.5-35B-A3B through `tools/run-plan.sh` on
|
|||||||
`m6a`. The branch differs from the reference (`~/boxmaker-refs/m6a-ref.bundle`, `87c3fa7`) only in
|
`m6a`. The branch differs from the reference (`~/boxmaker-refs/m6a-ref.bundle`, `87c3fa7`) only in
|
||||||
`crates/loopd/src/subagent.rs`: unused `Dispatch` import dropped, types written as `bxcore::…` /
|
`crates/loopd/src/subagent.rs`: unused `Dispatch` import dropped, types written as `bxcore::…` /
|
||||||
`crate::tools::…`, a doc comment on `RUNBOOK`, rustfmt wrapping. Same behaviour. Log rows are the
|
`crate::tools::…`, a doc comment on `RUNBOOK`, rustfmt wrapping. Same behaviour. Log rows are the
|
||||||
other delta. Spec 7 device check on straylight is not in this review; it is next.
|
other delta. Spec 7 device check on straylight passed (below).
|
||||||
|
|
||||||
| Check | Result |
|
| Check | Result |
|
||||||
|---|---|
|
|---|---|
|
||||||
@@ -1178,11 +1178,25 @@ later. `holds_prefix("sub-")` is any held id starting `sub-`, including a live `
|
|||||||
turn. `run` rebuilds `sub-<parent>-<n>` instead of calling `child_id`. None of those is a miss
|
turn. `run` rebuilds `sub-<parent>-<n>` instead of calling `child_id`. None of those is a miss
|
||||||
against the tasks; they match the reference.
|
against the tasks; they match the reference.
|
||||||
|
|
||||||
Device check, spec 7 for M6a, is not in this review. It needs straylight, slot 0 live / slot 2
|
Device check, 2026-10-04 UTC, on straylight (`target/debug` of `m6a` at `9f252c3`; Ornith slot 0
|
||||||
background, slot 1 left busy, a private `$HOME`, and production daemons untouched: a `bxctl`
|
live, slot 2 background; a private `$HOME` at `/home/kyle/boxmaker-m6a-check`, production daemons
|
||||||
session calls `subagent` with a short task; the child log is on slot 2; the parent's next turn has
|
untouched, no `gatewayd`). Empty `grants/` (spawn is not a grant; no `[runner]`). Heartbeat
|
||||||
`cache_n` near its previous total. Spec 7's taint-copy case (untrusted parent, child's identity
|
`every_s = 0`. `bxctl chat --session m6a-live --no-thinking`: find_tool then call_tool `subagent`
|
||||||
`add` lands in `notes.md`) is the same setup.
|
with task "Reply with exactly the single word PING"; then an immediate following turn "PONG".
|
||||||
|
|
||||||
|
At the first live turn, slot 2 was processing ~108k (`[waiting: slot busy]`); the parent's
|
||||||
|
same-turn continuation after the child's `ToolResult` logged `CacheLoss` 0 of 1672 (P9). The
|
||||||
|
following turn, sent immediately, held the prefix. Requests used `id_slot` 0 and 2 only.
|
||||||
|
|
||||||
|
| Check | Result |
|
||||||
|
|---|---|
|
||||||
|
| Child log on the background slot | `sessions/sub-m6a-live-2/0.jsonl` `SessionStart.slot` is 2; user line is the time line then the task; assistant `PING`; `Usage` `cache_n` 0, `prompt_n` 1412, `predicted_n` 23 |
|
||||||
|
| Parent's next turn `cache_n` near previous total | `m6a-live` after the child: `cache_n` 0, `prompt_n` 1698, `predicted_n` 90, `CacheLoss` 0 of 1672; turn 2: `cache_n` 1787, `prompt_n` 26 (expected 1788). Slot 0. |
|
||||||
|
| Parent result names the child | `ToolResult` call 2: `sub-m6a-live-2 completed` then `PING` |
|
||||||
|
|
||||||
|
Taint-copy (untrusted parent, child's identity `add` lands in `notes.md`) was not re-run on the
|
||||||
|
device; task 05's given tests already cover inherit, including a missing middle parent. No
|
||||||
|
Mattermost. The stack was stopped after turn 2.
|
||||||
|
|
||||||
What was good: five tasks, five first-gate passes, no stops, given tests unedited, every
|
What was good: five tasks, five first-gate passes, no stops, given tests unedited, every
|
||||||
review-focus case in the plan is covered by a given test and holds, `subagent-id` has a pointer
|
review-focus case in the plan is covered by a given test and holds, `subagent-id` has a pointer
|
||||||
|
|||||||
Reference in New Issue
Block a user