@@ -1065,3 +1065,40 @@ Architecture-shaping decisions graduate to an ADR under
10651065 were fixed — corrected here too. It also caught that round 2's "six"
10661066 recount of ` adds no network dependency ` instances double-counted
10671067 ` CLAUDE.md ` , a symlink to ` AGENTS.md ` ; the distinct-file count is five.
1068+ - 2026-08-07 — Bug-hunt round 36: two confirmed substantive defects, two
1069+ nitpicks, zero refuted. ` review.AppendVerdict ` held its verdict record to
1070+ ` MaxJSONLLine ` (round 25) but never checked the running total against
1071+ ` MaxJSONLBytes ` (round 33) — the last of ` findings.jsonl ` 's three writers
1072+ left uncovered after round 35 closed the same gap for ` analyze -ingest ` .
1073+ A ` findings.jsonl ` built at or right up to the cap is a legal ingest
1074+ output; recording a verdict against it durably bricked every finding and
1075+ verdict already on file (every later ` analyze.Load ` , ` review ` , and
1076+ ` report ` refused or silently dropped the findings; re-ingesting to repair
1077+ it was itself refused once a verdict existed, since ` holdsVerdicts ` also
1078+ bounds only a line, not the total). Fixed with a stat-then-append check
1079+ under ` AppendVerdict ` 's existing lock, mirroring ` WriteJSONL ` 's and
1080+ ` oversizedFindings ` ' pre-flight pattern. Separately, ` demo ` 's capture
1081+ endpoint checked each interaction record against ` MaxJSONLLine ` but never
1082+ tracked ` interactions.jsonl ` 's running total against ` MaxJSONLBytes ` (the
1083+ bound ` merge ` 's reader enforces): a sequence of individually valid
1084+ captures, each answered ` 204 ` , could accumulate past the cap and leave a
1085+ session durably unmergeable, discovered only after capture ended — as
1086+ little as ~ 2,000 ordinary-sized interactions through the documented
1087+ instrument-your-own-app path, not the contrived multi-megabyte records the
1088+ hunting round first reproduced with. Fixed the same way, using the file
1089+ offset ` appendRecords ` already obtains via ` Seek ` before every write;
1090+ ` events.rrweb.jsonl ` is deliberately exempt, matching ` MaxJSONLBytes ` ' own
1091+ documented archival carve-out. Both fixes carry regression tests watched
1092+ to fail pre-fix and pass post-fix, and both survived two independent
1093+ adversarial refuters apiece, including live end-to-end reproductions
1094+ against a built binary rather than re-reading the same source the hunt
1095+ round had. Nitpicks fixed: ` README.md ` 's "the CLI never calls a model or
1096+ the network" was the one absolute network claim rounds 26, 27, and 35's
1097+ otherwise-identical corrections missed — round 35's "sole outlier" framing
1098+ covered only the canonical ` adds no network dependency ` phrase, which
1099+ cannot match README's differently-worded instance; reworded to the
1100+ canonical, ` analyze ` -scoped form. ` docs/reference/session-directory.md ` 's
1101+ ` findings.jsonl ` schema table named ` mode ` 's ` A ` /` B ` values without
1102+ defining what distinguishes them anywhere user-facing (the only definition
1103+ lived in internal, non-shipped brief documents) — one clause now points
1104+ the reader at README's own "Reference capture" bullet.
0 commit comments