From afe25f0bc92bce6e6178e4448c2b0e870dfc32b9 Mon Sep 17 00:00:00 2001 From: "K. Isom" Date: Fri, 18 Sep 2026 16:26:13 -0700 Subject: [PATCH] Accept M2a follow-ups; M2a complete Co-Authored-By: Claude Fable 5.1 --- CLAUDE.md | 4 ++-- docs/implementer-log.md | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index ecb9208..6e50eb1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,8 +6,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co Boxmaker is a sovereign personal agent harness written in Rust. Work proceeds one milestone at a time (M0 to M7, table in `docs/milestones.md`). M0 (measurements) and M1 (workspace, `proto`, gate, -`Decision`) are done. M2 is split: M2a (the inference path) is planned in `docs/plans/M2a/`, -M2b (sessions, turn loop, `bxctl chat`) is not designed yet. Check `docs/implementer-log.md` for +`Decision`) and M2a (the inference path: `inferproxy`, `loopd`'s HTTP, SSE and llama client, +the startup self-test) are done. M2b (sessions, turn loop, `bxctl chat`) is not designed yet. Check `docs/implementer-log.md` for what is in flight. - `docs/design.md` is the binding design brief. If it looks wrong or conflicts with a measurement, diff --git a/docs/implementer-log.md b/docs/implementer-log.md index 49b9f0a..4cdc79f 100644 --- a/docs/implementer-log.md +++ b/docs/implementer-log.md @@ -152,3 +152,20 @@ thinking block to OpenCode's 16,384-token output limit and produced nothing, and describing a plan instead of calling a tool; both look like "the model stopped" to the owner. Laguna, asked to coordinate the tasks, invented a command-line tool (`opencodec`) rather than stop when the subagent tool it was told to use was not available. + +### M2a, tasks 14 and 15 — reviewed 2026-09-18 by the design model (Claude) + +**Verdict: accepted. M2a is complete.** Both by Ornith; task 15 passed the gate on the first run. + +| Check | Result | +|---|---| +| Two commits with the trailer; copied files identical; protected files untouched | pass | +| `make gate` | `gate: ok`, 153 tests | +| `make verify-device` | 4 passed | +| Review probe 1, upstream closes while the client is still sending | EOF reaches the client in 1 ms (was: never) | +| Review probe 2, events sent 300 ms apart | delivered at 0, 300, 600, 900 and 1200 ms (was: all at 1200 ms) | +| `forward` ten times in a row | no failure | + +Task 14 kept rule 4 of task 02: the open-connection place is released before the client is +closed. Task 15 was the smallest correct change: the `Data` phase returns after copying, and the +chunk's CRLF is consumed at the start of the next read.