Skip to content

docs(llamacpp): pin the undecidable penalties window exactly, and say why - #1079

Merged
Matlan1 merged 1 commit into
masterfrom
claude/abi-gap-exact-b10258
Aug 5, 2026
Merged

Matlan1 merged 1 commit into
masterfrom
claude/abi-gap-exact-b10258

Conversation

@Matlan1

@Matlan1 Matlan1 commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Documentation-only; no behaviour change. The undecidable penalties-arity window was described as ggml == 0.18.0, "upstream b10192..~b10264". The approximation is now measured away, and the window's internal structure recorded - which is the part that was actually missing.

Measured release by release against real upstream headers: b10255-b10257 are 4-arg, b10258 is 5-arg (the merge of ggml-org/llama.cpp#26520), b10262 is the last ggml 0.18.0 actually tagged (b10263/b10264 never were), and b10265 is the first 0.18.1.

So the window is b10192..b10262 and the signature flips inside it, at b10258. localm reports UNKNOWN for both halves, because ggml 0.18.0 does not distinguish them and nothing else in the binary does either - conservative by about five releases at the top end, costing those builds the repetition-penalty sampler rather than risking a mis-marshalled call. That is the intended trade, but it was not written down, so a reader could not tell deliberate conservatism from an oversight.

Also expands the comment on why a fingerprint test drifts two fields rather than one: the first version drifted one, failed, and thereby confirmed the scored fingerprint works. Worth keeping so the fixture is not "simplified" back into silently testing nothing.

… why

Documentation-only; no behaviour change. The undecidable arity window was
described as ggml == 0.18.0, "upstream b10192..~b10264". The approximation is now
measured away, and the window's INTERNAL structure recorded, which is the part
that was missing.

Measured release by release against real upstream headers:

    b10255..b10257  ggml 0.18.0  4-arg
    b10258          ggml 0.18.0  5-arg   <- the signature flips here, the merge
                                            of ggml-org/llama.cpp#26520
    b10261, b10262  ggml 0.18.0  5-arg   <- last 0.18.0 actually tagged
    b10263, b10264  never tagged
    b10265          ggml 0.18.1  5-arg

So the window is b10192..b10262, and the signature flips INSIDE it at b10258.
b10192..b10257 really are 4-arg; b10258..b10262 really are 5-arg. localm reports
UNKNOWN for both halves, because ggml 0.18.0 does not distinguish them and
nothing else in the binary does either - conservative by about five releases at
the top end, costing them the repetition-penalty sampler rather than risking a
mis-marshalled call. That is the intended trade, but it was not written down, so
a reader could not tell deliberate conservatism from an oversight.

The b10258 boundary was found by another session bisecting raw headers and
confirming b10258 is identical to #26520's merge commit; independently
re-measured here (b10257 4-arg, b10258 5-arg) before writing it in.

Also expands the comment on why the fingerprint test drifts TWO fields rather
than one, since the first version of that test drifted one, failed, and thereby
confirmed the scored fingerprint works - a note worth keeping so the fixture
does not get "simplified" back and silently stop testing what it names.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Matlan1
Matlan1 merged commit 88bfbf0 into master Aug 5, 2026
4 checks passed
@Matlan1
Matlan1 deleted the claude/abi-gap-exact-b10258 branch August 5, 2026 10:09
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