docs: M6b device check on straylight
This commit is contained in:
@@ -46,7 +46,9 @@ device-checked on straylight (child `sub-m6a-live-2` on slot 2; following slot-0
|
|||||||
1787 of 1788). M6b (`consult` behind `brokerd`, allowlisted loopback HTTP, Decision `body`; spec
|
1787 of 1788). M6b (`consult` behind `brokerd`, allowlisted loopback HTTP, Decision `body`; spec
|
||||||
`docs/specs/2026-10-04-m6-subagents-consult.md` sections 4, 5, 6, 7 M6b and 8; plan
|
`docs/specs/2026-10-04-m6-subagents-consult.md` sections 4, 5, 6, 7 M6b and 8; plan
|
||||||
`docs/plans/M6b/`) is done, reviewed in `docs/implementer-log.md`; no finding is open; spec 7
|
`docs/plans/M6b/`) is done, reviewed in `docs/implementer-log.md`; no finding is open; spec 7
|
||||||
device check (loopback dummy on straylight, no internet) is later.
|
device-checked on straylight (clean consult audit body matched the captured loopback POST;
|
||||||
|
a private untrusted recall still consulted under `max_taint = "private"`, matching spec 4.1's
|
||||||
|
class gate).
|
||||||
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
|
||||||
|
|||||||
@@ -198,4 +198,6 @@ which is P9; the immediate next turn held it.
|
|||||||
M6b was Ornith through the driver, six tasks, first-gate pass in every row, no stop. The product
|
M6b was Ornith through the driver, six tasks, first-gate pass in every row, no stop. The product
|
||||||
files match the reference in behaviour (import order, const order, two blanks). Task 03 wrote the
|
files match the reference in behaviour (import order, const order, two blanks). Task 03 wrote the
|
||||||
given tests in place and they `cmp` identical. Task 05's log row says `NOT_CONFIGURED` was
|
given tests in place and they `cmp` identical. Task 05's log row says `NOT_CONFIGURED` was
|
||||||
inserted before `SECRET_POINTER`; the file has it after (I17). Device check is later.
|
inserted before `SECRET_POINTER`; the file has it after (I17). Device check: clean consult body
|
||||||
|
matched the captured loopback POST; a private untrusted recall still consulted under
|
||||||
|
`max_taint = "private"` (spec 4.1 class gate; spec 7's device bullet expected refuse).
|
||||||
|
|||||||
+21
-4
@@ -1235,13 +1235,30 @@ loopback dummy) sit on the branch and were outside the reference. Spec 7 device
|
|||||||
No numbered product finding. Task 03's in-place tests and task 05's const-order log line are
|
No numbered product finding. Task 03's in-place tests and task 05's const-order log line are
|
||||||
process notes. `rule_3`'s unknown-tool sentence still names the four container tools.
|
process notes. `rule_3`'s unknown-tool sentence still names the four container tools.
|
||||||
|
|
||||||
Device check is owner-side after this review: a loopback OpenAI-compatible dummy the check starts
|
|
||||||
on straylight; a clean session's audit body matches a captured request; a session that first
|
|
||||||
recalled an untrusted note is refused. No internet consult. Production daemons stay untouched.
|
|
||||||
|
|
||||||
What was good: six tasks, six first-gate passes, no stops, given tests unedited, every
|
What was good: six tasks, six first-gate passes, no stops, given tests unedited, every
|
||||||
review-focus case in the plan is covered by a given test and holds, both consult runbook entries
|
review-focus case in the plan is covered by a given test and holds, both consult runbook entries
|
||||||
have pointers, no new crate, no vendor names in code.
|
have pointers, no new crate, no vendor names in code.
|
||||||
|
|
||||||
Known M6b limits, left as the README lists them: no internet consult, no HTTPS, cloud-led
|
Known M6b limits, left as the README lists them: no internet consult, no HTTPS, cloud-led
|
||||||
sessions later.
|
sessions later.
|
||||||
|
|
||||||
|
Device check, 2026-10-04 UTC, on straylight (`target/debug` of `m6b` at `fa795ed`; Ornith slot 0
|
||||||
|
live; slot 1 left empty; slot 3 was processing ~190k of someone else's prompt at the first turn;
|
||||||
|
a private `$HOME` at `/home/kyle/boxmaker-m6b-check`, production daemons untouched, no `gatewayd`).
|
||||||
|
Grant `consult.toml` `mode = "auto"` `max_taint = "private"`. `[consult]` pointed at a loopback
|
||||||
|
dummy the check started on `127.0.0.1:18765` (`model = "dummy-m6b"`, bearer from `CONSULT_TOKEN`).
|
||||||
|
Heartbeat `every_s = 0`. No `[runner]`. Dummy and daemons stopped from the PID file afterwards.
|
||||||
|
|
||||||
|
`bxctl chat --session m6b-clean --no-thinking`: find_tool then call_tool `consult` with question
|
||||||
|
"what colour is the sky?". Dummy answered `cerulean dummy`. Then session `m6b-taint`: recall of a
|
||||||
|
planted private untrusted pewter-spoon note, then the same consult.
|
||||||
|
|
||||||
|
| Check | Result |
|
||||||
|
|---|---|
|
||||||
|
| Clean session audit body equals captured POST | `m6b-clean` Decision body is 104 bytes and equals `logs/last-consult-body.bin`; JSON is model `dummy-m6b`, temperature 0.6, one user message, no `tools`. Result `cerulean dummy`, class `private`, `untrusted` true (grant default). Slot 0. |
|
||||||
|
| Session that first recalled an untrusted note | Recall hit `memory-tainted` / private. Following consult was **allowed** (`taint` private, `untrusted` true). Spec 7's device bullet expected refuse. Spec 4.1's class gate is `max_taint`; the session stayed `private` and the grant allows that class. The given deny test is a `secret` session. Audit body still equalled the captured POST. |
|
||||||
|
|
||||||
|
Requests used `id_slot` 0 only (`consult` is `brokerd` HTTP, no child). Slot 1 stayed empty. No
|
||||||
|
internet consult. No numbered product finding against section 4 or the given tests. The spec 7
|
||||||
|
wording "recalled an untrusted note is refused" did not hold for a private untrusted session
|
||||||
|
under a `private` grant.
|
||||||
|
|||||||
Reference in New Issue
Block a user