Files
boxmaker/docs/implementer-log.md
T
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

2.6 KiB

Implementer log

Kept by the implementing model, one row per task. The column meanings are in AGENTS.md. The reviewer adds findings under "Reviews" once per milestone.

Task Date Status Gate runs First gate Deviations Notes
M1/01-workspace-and-gate 2026-09-17 done 1 pass none Crate skeletons, Cargo files and the given Makefile/deny.toml/test-gate-scripts.sh were already present untracked from a prior attempt; I verified them against the plan and created only the missing gate scripts, dependencies.md, egress.md and this log row.
M1/02-proto-values 2026-09-17 done 1 pass none Implemented ValueError, SessionId, Epoch, CallId, Hash32 and Timestamp in crates/proto/src/ids.rs and DataClass in class.rs, using serde try_from/into for string-backed JSON validation, a hand-written hex encoder and humantime for RFC 3339 parsing with canonical re-serialization.
M1/03-proto-wire 2026-09-17 done 2 pass none Added Envelope, Message, WireError, ErrorCode, ToolRequest, ToolResponse and DenyReason in crates/proto/src/wire.rs, re-exported from lib.rs; all 9 fixture tests pass and make gate prints gate: ok.
M1/04-proto-frame 2026-09-17 done 2 fail none Added crates/proto/src/frame.rs (MAX_FRAME, FrameError, write_frame, read_frame) re-exported from lib.rs; 13 fixture tests pass. Two compile fixes: mapped read_bytes io::Error to FrameError::Io and annotated serde_json::from_slice::; cargo-fmt reordered the lib.rs re-export lines; make gate prints gate: ok.
M1/05-proto-grant 2026-09-17 done 2 fail none Added crates/proto/src/grant.rs (Mode, Constraints with Default, Grant with serde defaults + deny_unknown_fields) re-exported from lib.rs and toml 1.1.6 as a proto dev-dependency (workspace dep + dependencies.md row); 4 fixture tests pass. cargo-fmt reordered the lib.rs re-exports before the gate.
M1/06-proto-records 2026-09-17 done 2 fail none Added crates/proto/src/audit.rs (DecisionRecord, AuditRecord) and crates/proto/src/log.rs (ToolCall, LogRecord) re-exported from lib.rs; 3 fixture tests pass, 40 total across the five proto test files. cargo-fmt reordered the lib.rs re-exports before the gate.
M1/07-brokerd-decision 2026-09-17 done 1 pass none Added Decision (Debug only, private fields), decide (Err(NoGrant) until M3) and the run stub (ToolResponse::Failed) in crates/brokerd; Decision::new carries expect(dead_code). 2 unit + 3 doctests (2 compile_fail) pass; verified the compile_fail guards by temporarily making new pub. make gate prints gate: ok.

Reviews