Record that the M3a plan is ready, and how it was checked

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-18 23:45:43 -07:00
co-authored by Claude Opus 5
parent e3f37da232
commit 0703306e19
2 changed files with 7 additions and 2 deletions
+3 -1
View File
@@ -8,7 +8,9 @@ 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`;
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
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.
+4 -1
View File
@@ -978,4 +978,7 @@ What changes from M2 is how the given tests are checked before they are handed o
The reference and the skeletons live in a git worktree at `~/src/boxmaker-ref` on an unpushed
branch, not in `/tmp`. The plan's README records, for each task, which check it had and what that
check exposed.
check exposed. In the event the table above did not hold: the approval handoff could not run
without working `config`, `args`, `grants`, `policy` and `state`, so those got a minimal
reference too, and the broker (tasks 10 to 15) a full one; skeletons were confined to `loopd` and
`bxctl`, whose bodies were later written as a measurement and found nothing more.