kyle
3d876d4fa9
Add the assembler that folds streamed chunks into a completion
...
Implemented-By: GLM-5.3 (z.ai, default settings) via OpenCode
2026-09-18 02:56:31 -07:00
kyle
f48999306e
Add the llama client types and the chat request builder
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-18 02:40:35 -07:00
kyle
f58c29e707
Add a server-sent-events reader to loopd
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-18 02:31:49 -07:00
kyle
4460bb241a
M2a/04-loopd-http
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-18 02:11:25 -07:00
kyle
6e8e24794d
Add loopd configuration with every M2a limit
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 23:07:38 -07:00
kyle
a0495ea36a
Add the inferproxy byte forwarder with its two limits
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 21:03:41 -07:00
kyle
bc1e727c19
Add SHA-256 to proto, wrapping the emsha crate
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 14:11:51 -07:00
kyle and Claude Fable 5.1
db0ba081db
Add tools/run-plan.sh to run a plan's tasks in fresh OpenCode sessions
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 14:02:49 -07:00
kyle and Claude 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
kyle and Claude Fable 5.1
a49db39b54
Brief: add a one-sentence purpose for every role and crate
...
Requested by the owner so that future readers, agents included, learn
what each piece is for first. No behaviour changes.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 13:00:21 -07:00
kyle and Claude Fable 5.1
7bff156d7e
Add M2a design spec: the inference path
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 12:54:47 -07:00
kyle and Claude Fable 5.1
62ec663a0e
Record M2a limits, the accepted availability risk and three more measurements
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 12:53:41 -07:00
kyle and Claude Fable 5.1
eb1b7d2da2
Record emsha and the M2 split; add dependency-vetting lesson
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 12:27:52 -07:00
kyle and Claude Fable 5.1
362f962803
Measure queued-request behaviour and reasoning_control before the M2 design
...
A request pinned to a busy slot receives no bytes until the slot frees.
reasoning_control ends a thinking block on demand; the capped turn is
re-read once on the next request.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 11:03:55 -07:00
kyle and Claude Fable 5.1
35a7a4e7ea
Record why task 01 had an earlier attempt
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 11:02:00 -07:00
kyle and Claude 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
kyle and Claude 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
kyle
46d26e868b
Make gate scripts handle table-form dependencies and fail closed
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 10:14:22 -07:00
kyle
69120af092
Reject unknown fields in every proto struct and bound Timestamp
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 09:29:48 -07:00
kyle and Claude Fable 5.1
dcdcf65d83
Review M1: accept with two follow-up tasks
...
The branch passes the checklist: seven commits, copied files unchanged,
gate and audit green. Reading and probing found that AuditRecord and
ToolCall accept unknown fields, that large Timestamps panic when
formatted, and that the dependency-direction scripts miss table-form
dependencies and pass when their inputs are missing. The last two
families were gaps in the tasks, not only in the code.
Tasks 08 and 09 carry the fixes, defined by an exhaustive unknown-field
test, a bounded-Timestamp test and an extended gate-script self-test.
All three were checked against the reference implementation and fail on
the current branch.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 09:14:29 -07:00
kyle
8c1852ec47
Add Decision, decide and the runner stub to brokerd
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 09:05:48 -07:00
kyle
b9f3ab45c1
Add audit and session log record types to proto
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 08:36:44 -07:00
kyle
78e13195ea
Add Grant, Mode and Constraints to proto
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 08:23:48 -07:00
kyle
d6308c976b
Add length-prefixed frame codec to proto
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 08:11:14 -07:00
kyle
56e12f40a6
Add IPC envelope and tool messages to proto
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 07:53:40 -07:00
kyle
1e1b543a7c
Add validated identifiers, Hash32, Timestamp and DataClass to proto
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 07:41:49 -07:00
kyle
8dc04b1d48
Add Cargo workspace, crate skeletons and the gate
...
Implemented-By: Laguna S 2.1 (OpenCode)
2026-09-17 06:45:02 -07:00
kyle and Claude 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
kyle and Claude Fable 5.1
19104a9629
Mark per-milestone review as an M1 experiment
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 01:09:08 -07:00
kyle and Claude Fable 5.1
bafe3f9fff
Rewrap a long line in the pre-M1 spec
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 01:08:36 -07:00
kyle and Claude 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
kyle and Claude Fable 5.1
2a1fe5576c
Record pre-M1 design decisions
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:58:49 -07:00
kyle and Claude Fable 5.1
34b2b47656
Note expected extra compute against the M5b open decision
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:41:43 -07:00
kyle and Claude 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
kyle and Claude 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
kyle and Claude Fable 5.1
0612d80aa2
Brief P12: inferproxy is required
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
a4ebdc11af
Brief P11: serving settings are recorded here and owned by the NixOS config
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
adab43add1
Brief P10: separate limit for waiting on a slot or a model load
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
27b7ff45ee
Brief P9: slots are pinned but not reserved; cache loss is a normal event
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
e07fddf0ad
Brief P8: describe the shared router as deployed
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
46918e5208
Brief P7: split the gate into offline and on-device parts
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
4fc7ad3deb
Brief P6: define Decision in brokerd, DecisionRecord in proto
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
e353cd57fa
Brief P5: settle on chat-completions with server-side tool parsing
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
367573b11e
Brief P4: enforce the thinking cap through reasoning_control
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
59666e0130
Brief P3: request prompt-processing progress so prefill counts as liveness
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
8421d80e87
Brief P2: log and replay assistant messages exactly, drop the thinking-block risk
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
790136e94f
Brief P1: fix the tools array per epoch, reach other tools through call_tool
...
Approved 2026-09-17. Evidence is in docs/decisions.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:38:32 -07:00
kyle and Claude Fable 5.1
065fe8ce1d
Add slot pinning and eviction measurements to M0 findings
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:35:36 -07:00
kyle and Claude Fable 5.1
4b6ea143c7
Replace dedicated-instance recommendation with shared-router consequences
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:30:50 -07:00
kyle and Claude Fable 5.1
e104b77289
Add idle-GPU throughput numbers to M0 findings
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-17 00:30:38 -07:00