diff --git a/docs/implementer-log.md b/docs/implementer-log.md index 3585255..d354ed7 100644 --- a/docs/implementer-log.md +++ b/docs/implementer-log.md @@ -81,3 +81,20 @@ Follow-ups for `v1.1`: fix 1 (record the row on the cancel path with status 499 (`[]`), and an acceptance test for each; consider `lease_idle` expiry while a request is in flight and `Prune` under concurrent writes, which this review did not probe. +### v1.1 review — 2026-09-25 (reviewer: claude, as owner) + +Checked: one task commit `9f5b50a` with the trailer; both given tests byte-identical; protected +files untouched; `make gate` → `gate: ok`; `make smoke` → `smoke: ok (stream spread 1006 ms)`. +Probed: `/_crossbar/usage` on an empty store answers `[]`; a stream cut by the client after +0.4 s appears in `/_crossbar/metrics` as `crossbar_requests_total{…,status="499"} 1`. + +Process: four sessions for one task. Sessions 1–3 each ended their turn right after the sandbox +refused a write or read outside the repository (the I9 pattern) — after the fix was already +correct, in sessions 2 and 3. Session 3 also chased test flakes caused by its own inference +loading the host (the owner measured 12/12 passes idle). Findings: (a) model — five +refusal-endings tonight in total; `AGENTS.md` now names the rule, and the fourth session obeyed +it; (b) task — the task text did not state that `httputil.ReverseProxy` aborts the handler with +`http.ErrAbortHandler` on client disconnect, the fact the fix depends on (added mid-run); (c) +test design — timing-based tests (limiter, queue, spread, cancel) have margins tuned for an idle +host; widen or retry in a later plan. +