Skip to content

docs(learnings): two more stop-overshoot arms, counted right by was_capped - #268

Merged
glennneuber merged 1 commit into
mainfrom
docs/learnings-stop-overshoot
Sep 4, 2026
Merged

glennneuber merged 1 commit into
mainfrom
docs/learnings-stop-overshoot

Conversation

@glennneuber

Copy link
Copy Markdown

Found while reconciling #213: gemma4:12b multi_3img_anchored (8,610) and gemma4:26b bboxm_free_anc_named (8,692) both exceed num_predict 8,192 with done_reason: "stop" and a complete answer — the third and fourth instances of the class behind #256 and the was_capped docstring. Recorded as a learnings-log entry in the log's claim / evidence / enforced-by / cost shape; no numbers elsewhere change.

🤖 Generated with Claude Code

…apped

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@glennneuber
glennneuber merged commit 64069bf into main Sep 4, 2026
1 check passed
glennneuber added a commit that referenced this pull request Sep 4, 2026
…results

Criteria 3 and 4 ticked with the facts. The Conflicts table gains a
"resolved as" column recording what was actually done per file rather than
what was planned, including the two things that differed from the plan:

- 17 of the 18 mlxtest.Setup sites were in upstream-owned files and upstream
  ported them itself; the 18th (constrain_bench_test.go) cannot be ported
  because the new API takes only *testing.T, so it and constrain_test.go are
  deleted, bringing forward part of ADR 0033's follow-up.
- server/images.go's suppressAudioCapability had silently lost its gemma4
  branch in a clean auto-merge — a fifth hidden break, alongside the four the
  plan predicted — which would have advertised gemma4 audio this fork cannot
  serve. Restored.

New "Excluded under D1-A" section lists the three upstream gemma4 files the
merge removes (audio.go, audio_test.go, process_image.go) with what each
contains, so the D1-B spike starts from it, and records the two that were
kept but are dead (process_audio.go, process_audio_test.go), plus
TestMLXOperationsSurviveRescheduling going with ClaimOSThread.

Gate 2's numbers are recorded with their controls: 4230 pass / 0 fail / 237
skip, 188 of the skips being "MLX not available" — a skip is not a pass, and
the vision goldens are among them. The one go vet finding and the one gofumpt
finding are both shown to be pre-existing by a control run of origin/main in
the same image.

Also records that this branch is 9 commits behind origin/main (#266, #213,
#268 landed after it was cut), that none of the six files they touch is
touched by this merge, and that Gate 2 therefore ran without #266's six new
test_verdicts.py cases (94 here vs 100 on main).

ADR 0021 gets a status note: D1-A upholds it, and its decision 6 / consequence
naming mlx.ClaimOSThread and mlxtest.Setup now point at mlxthreadtest.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant