Commit Graph
34 Commits
Author SHA1 Message Date
kyleandGrok 4.6 1938b746ab review: M5c-2 review, lessons T59 and T60, and the gate-count rule
Co-Authored-By: Grok 4.6 <noreply@x.ai>
2026-10-02 20:24:43 -07:00
kyleandClaude Opus 5.5 4d1120032a docs: M5b landed; CLAUDE.md and decisions follow
decisions: M5b settles the invalid-arguments reason, tag
neutralisation and the shared secret store (their open rows go), and
the verdict on the run's two driver trials. CLAUDE.md's current state:
M5b done, M5c (Honcho, roncho 1.0.0) next; straylight's clone is
boxmaker-m5b.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 19:15:09 -07:00
kyleandClaude Opus 5.5 9672cb5e53 AGENTS.md, CLAUDE.md, dependencies: the shared crate is bxcore
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 01:49:21 -07:00
kyleandClaude Opus 5.5 cc04b3923b P24: M5b is hardening, M5c Honcho, M5d the scheduler
Owner's decision. The hardening half (sanitizer, tag neutralisation,
image links escaped, the invalid-arguments reason, and the secret store
available to every role) needs neither roncho nor Honcho and can be
specified now. Honcho waits on roncho's tagged release. Earlier
documents keep the old numbers; P24 says so.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 23:53:12 -07:00
kyleandClaude Opus 5.5 1b77e72e70 CLAUDE.md: M5a is done; M5b is next; the flake and P22
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 21:06:11 -07:00
kyleandClaude Opus 5.5 41f8329afe nix: a flake that builds every binary, the tool image and a dev shell
Follows the owner's other projects (sift, tether): nixpkgs pinned to
nixos-26.05, x86_64-linux, the version from the commit. `packages.default`
builds all six binaries with rustPlatform (tests stay in `make gate`),
`packages.tools-image` is deploy/tools-image.nix, and `devShells.default`
has Rust 1.95.0, clippy, rustfmt, cargo-deny and make. No NixOS module
yet: that is M8 (P22).

Checked on straylight: `nix flake check` passes; `nix build` gives
brokerd, bxctl, gatewayd, inferproxy, loopd and toolkit, each printing
its usage; `nix build .#tools-image` and `nix develop` work.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 16:41:29 -07:00
kyleandClaude Opus 5.5 0062b2a895 CLAUDE.md: M5a is planned
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 15:33:20 -07:00
kyleandClaude Opus 5.5 c7f3895c3f Apply P21: identity and experience; memory writes without approval; built-in policy
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:53:02 -07:00
kyleandClaude Opus 5.5 174bdc05b2 CLAUDE.md: memoryd and the M5 split
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:12:38 -07:00
kyleandClaude Opus 5.5 a1d5083bd5 CLAUDE.md: M4b is done and merged; branches land by rebase
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 12:31:12 -07:00
kyleandClaude Opus 5.5 2d415fc1be Plan M4b: approvals over Mattermost in 15 tasks
Skeletons for new files only; existing files change by exact edits, so no task overwrites an
earlier one's work. Each task's tests were run against a reference built in order from master,
with the gate at each step and mutations checked; each skeleton compiles and fails its tests, and
every todo!() comment was read beside its signature. The reference is kept off this machine.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 03:34:21 -07:00
kyleandClaude Opus 5.5 a8f7819da3 M4b spec approved
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 01:54:59 -07:00
kyleandClaude Opus 5.5 1c2695d21d Apply P16: approvals are !approve/!deny replies in the approval's thread; no reactions
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 01:54:50 -07:00
kyleandClaude Opus 5.5 3322a56e69 CLAUDE.md: M4a is done and merged; M4b is next
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 01:37:17 -07:00
kyleandClaude Opus 5.5 0339dc13b2 Plan M4a: gatewayd in 15 tasks, with skeletons and given tests
Each task's tests were run against a reference at its end state; the end states were replayed
from master in order with the gate at each step (650 to 762 tests); each skeleton compiles
against its tests and fails them. The reference is kept off this machine. Lessons T27 (every
wait in a test has a limit) and T28 (mutate the reference before hand-over) come from this work.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 19:05:44 -07:00
kyleandClaude Opus 5.5 7e3783faae Specify M4a (conversations over Mattermost); propose P15 on secrets
M4 is split into M4a and M4b. The M4a spec rests on facts checked against
the owner's server and Mattermost's source at v11.11.0: the REST and
WebSocket shapes, and that clients will not post a message starting with
'/'. Records the design decisions, proposes P15 (secrets from a systemd
credential, the environment or an owner-only file), and adds the run-time
rows egress.md was missing since M2a and M3b.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 17:30:31 -07:00
kyleandClaude Opus 5.5 f0ec0efe9d CLAUDE.md: M3a finding 14 was closed by M3b task 02
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 16:43:07 -07:00
kyleandClaude Opus 5.5 a43362edb4 Review M3b tasks 14 to 17: accept; M3b done
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 16:42:22 -07:00
kyleandClaude Opus 5.5 b426ca1958 Specify and plan M3b: the runner and the tools
A draft spec for the owner's review and 13 offline tasks with their given
tests: shared tool arguments and host rules in proto, the sealed fetch
target (M3a finding 14), the toolkit tools and SOCKS5 egress proxy, and
brokerd's [runner], podman argument lists, runtime and proxy lifecycle. Each
task's tests were run against a reference at that task's end state (560 to
638 tests, clippy clean); the reference is not in the repository. Adds the
runner-unavailable runbook entry and tip T23 (ETXTBSY in script tests).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 22:29:27 -07:00
kyleandClaude Opus 5.5 6b9bd7f5f0 CLAUDE.md: M3a is done; M3b next; the new slot layout
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 21:55:27 -07:00
kyleandClaude Opus 5 0703306e19 Record that the M3a plan is ready, and how it was checked
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 23:45:43 -07:00
kyleandClaude Opus 5 180ef28833 Specify M3a (the decision path) and write the runbook
Split M3 into M3a and M3b, record the M3 design decisions, propose P13
(tool image built by Nix, named by digest), and add docs/runbook.md with an
entry for every fail-closed state, including loopd's existing ones.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 21:57:21 -07:00
kyleandClaude Opus 5 92a57f6350 Review M2b task 11: accept; M2b done
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 21:10:34 -07:00
kyleandClaude Fable 5.1 e156975649 Add M2b plan: ten tasks, tests, recordings and the first system prompt
The tasks build the agent loop on M2a's client: channel messages and
the usage record in proto, four config tables, the tool port and
registry with find_tool and call_tool, the baseline and replay, the
session store, the turn loop with its limits and the append-only
property test, the channel server, loopd serve, bxctl chat, and the
device checks including a four-turn conversation with a restart.

Checked against a private reference implementation: the gate passes
after every task in order, the new suites pass under CPU load, and the
reference passes make verify-device on straylight with no cache loss.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 17:19:02 -07:00
kyleandClaude Fable 5.1 afe25f0bc9 Accept M2a follow-ups; M2a complete
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 16:26:13 -07:00
kyleandClaude Fable 5.1 76ccc251cd Add M2a plan: thirteen tasks, tests, fake server and recordings
The tasks build the inference path: emsha-backed SHA-256, inferproxy,
config, a hand-written HTTP and SSE client, request building, delta
assembly, the chat state machine, the thinking cap, the slot gate with
retry, the startup self-test and on-device verification.

Everything the tasks copy in was checked against a private reference
implementation: the gate passes after each task in order, the timing
tests pass repeatedly under CPU load, and the reference passes the
self-test and all four device checks on straylight. Expected results
for the recorded streams were derived by a separate script.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 13:34:11 -07:00
kyleandClaude Fable 5.1 2426b45852 Rewrap a long line in CLAUDE.md
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 10:19:50 -07:00
kyleandClaude Fable 5.1 57bfc62236 Accept M1 follow-ups; add implementer lessons and promote four rules to AGENTS.md
Tasks 08 and 09 pass the checklist and the reviewer's probes, so M1 is
complete. docs/implementer-lessons.md turns the review findings into
tips for the implementer and for task writing, each tied to its
evidence, with a column to record whether the defect comes back.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 10:19:06 -07:00
kyleandClaude Fable 5.1 3e26c2e3c0 Add M1 plan, given tests and fixtures, AGENTS.md and implementer log
Seven task files for the implementing model under docs/plans/M1/, with
the test files, byte-exact fixtures, Makefile, deny.toml and gate-script
self-test they copy into place. All of it was verified against a private
reference implementation: the gate passes after every task in order.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 01:22:43 -07:00
kyleandClaude Fable 5.1 afdac9ad3e Add pre-M1 design spec
Threat model, data classes and provenance, approvals, IPC framing and
socket topology, the proto type list, log file rules, runtime layout,
the M1 gate, and how work is handed to the implementing model.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 01:08:27 -07:00
kyleandClaude Fable 5.1 5555d6a7d1 Rewrap CLAUDE.md line
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:39:01 -07:00
kyleandClaude Fable 5.1 fbc0f218dc Sync CLAUDE.md and decisions log with the amended brief
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:38:54 -07:00
kyleandClaude Fable 5.1 cbdaaa0d50 Update CLAUDE.md for the split docs and the Laguna handoff
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:22:44 -07:00
kyleandClaude Opus 5 fa9d78366e Add kickoff pack and CLAUDE.md
docs/design.md is the kickoff pack as written: design brief, session 1
prompt, and milestone outline. Committed unmodified so later edits to
the brief show up as diffs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 23:56:31 -07:00