Commit Graph
191 Commits
Author SHA1 Message Date
kyleandClaude 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
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
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
kyleandClaude 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
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 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
kyleandClaude 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
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 2a1fe5576c Record pre-M1 design decisions
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:58:49 -07:00
kyleandClaude 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
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 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude 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
kyleandClaude Fable 5.1 5bd0444aeb Record shared-router decision and the brief changes it implies
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:27:53 -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 Fable 5.1 06c05e0023 Add M0 measurement spike and findings
spike/m0.py is throwaway. Findings are in docs/inference-contract.md:
cache reuse and tool parsing pass through chat-completions, the tools
array must stay fixed per epoch, and the shared router cannot meet the
slot contract. Clean throughput and slot pinning are still open because
another session was using the GPU.

docs/decisions.md lists the brief changes this implies as proposals.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:22:31 -07:00
kyleandClaude Fable 5.1 96bf688b20 Split kickoff pack into brief, milestones and decisions
docs/design.md now holds only the design brief, as the pack intended.
The session prompt and milestone table move to docs/milestones.md
verbatim. Open decisions move to docs/decisions.md, which also records
the four decisions made at kickoff.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 00:17:55 -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