From 6b9bd7f5f0edab848ea536f9fa4a46b00df7d309 Mon Sep 17 00:00:00 2001 From: "K. Isom" Date: Tue, 22 Sep 2026 21:55:27 -0700 Subject: [PATCH] CLAUDE.md: M3a is done; M3b next; the new slot layout Co-Authored-By: Claude Opus 5.5 (1M context) --- CLAUDE.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index d9891cb..9e26a5a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,10 +8,12 @@ Boxmaker is a sovereign personal agent harness written in Rust. Work proceeds on time (M0 to M7, table in `docs/milestones.md`). M0 (measurements), M1 (workspace, `proto`, gate, `Decision`), M2a (the inference path: `inferproxy`, `loopd`'s HTTP, SSE and llama client, the startup self-test) and M2b (sessions, the turn loop, `loopd serve`, `bxctl chat`) are done. M3 is split: -M3a (`brokerd`'s decision path) is specified in `docs/specs/2026-09-18-m3a-decision-path.md`, -and its plan (22 tasks, `docs/plans/M3a/README.md`) is ready for Laguna on branch `m3a`; the -reference it was checked against is on the unpushed branch `m3a-ref` (`~/src/boxmaker-ref`). -M3b (the container runner and tools) follows it. `docs/runbook.md` has an entry for every +M3a (`brokerd`'s decision path, spec `docs/specs/2026-09-18-m3a-decision-path.md`) is done and +merged, reviewed in `docs/implementer-log.md`; its open findings (17, 18, 20, and 14, which M3b's +first task must take) are listed there. M3b (the container runner and tools) is next to plan. +Straylight now serves Ornith as four slots over one 262,144-token pool; see +`docs/inference-contract.md`, "Deployment change, 2026-09-20", before relying on cache behaviour. +`docs/runbook.md` has an entry for every fail-closed state; any new one needs an entry and a pointer in its message. Check `docs/implementer-log.md` for what is in flight. @@ -46,10 +48,12 @@ requests, check `GET /slots?model=ornith-1.5-35b-a3b` so you do not evict someon - Single test: `cargo test -p `. - `make audit` runs `cargo deny check advisories`; it needs the network. - `make verify-device` (from M2a task 13) runs the ignored tests in `crates/loopd/tests/device.rs` - against straylight through a private `inferproxy`. It uses Ornith slot 0. + against straylight through a private `inferproxy`. It uses Ornith slot 0. `tools/check-m3a-device.sh` + runs `brokerd`, `loopd` and an approval end to end against it. - `bxctl` is the owner CLI: `bxctl chat` talks to a running `loopd serve --config `; - `bxctl reindex` comes in M5. Roles not yet built (`brokerd`, `gatewayd`, `toolkit`) print "not - implemented" and exit 2. + `bxctl approvals`, `approve`, `refuse`, `grants check` and `audit verify` talk to `brokerd serve` + (or read the audit log directly); `bxctl reindex` comes in M5. Roles not yet built (`gatewayd`, + `toolkit`) print "not implemented" and exit 2. ## Architecture in brief