Repository navigation
pr-set: drop #314 (Flint merged upstream), repin Inkling and #298 - #318
Conversation
Flint landed upstream as ggml-org#30928 (a37cc46, first in b11803), so the #314 pin no longer merges: it is refused in conversion/flint.py, conversion/base.py, convert_hf_to_gguf_update.py and src/llama-vocab.h. Drop it and keep the flint feature check with owner null, since the feature now arrives through the base tag. Repin Inkling (ggml-org#25731) to d0cd5c0, a merge of b11819 (the oldest tag with DOMYN_SMALL, and the base tonight's nightly can pick) into e1b89cf. That resolves the build_lora_mm conflict with ggml-org#30910 (LoRA on Hadamard-folded weights: upstream hunk kept, the pin's prec parameter re-applied), moves LLAMA_VOCAB_PRE_TYPE_INKLING after upstream's FLINT (62, ggml-org#30928) and DOMYN_SMALL (63, ggml-org#23343) to 64, and bumps the GGML_OP_COUNT asserts to 103 and RPC_PROTO_PATCH_VERSION to 2 now that upstream's GGML_OP_TOP_K_MASK (ggml-org#30640) and the pin's GGML_OP_FLASH_ATTN_EXT_BANDED are both present. Repin #298 to its current head be83657, which adds the output LoRA, DSpark router denominator, mtmd placeholder and namespaced tool-name fixes.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5015eb662f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "prs": [ | ||
| "https://github.com/ggml-org/llama.cpp/pull/24423/commits/dd7f73b19deb9e79dd441904cf0158af459cd034", | ||
| "https://github.com/ggml-org/llama.cpp/pull/25731/commits/e1b89cfa035866efdc2857318f438609584395f5", | ||
| "https://github.com/ggml-org/llama.cpp/pull/25731/commits/d0cd5c06d92bb8bc471efcaa6efdbce044128b23", |
There was a problem hiding this comment.
Keep the Inkling pin on the aged base
When latest resolves to a tag before b11819—the commit identifies b11812 as the current aged base—this SHA bypasses that selection: d0cd5c06d merges b11819 into the Inkling branch, while .github/workflows/unsloth-prebuilt.yml merges the entire pinned commit and its ancestry rather than applying only its patch. Builds labeled as b11812 will therefore include every unrelated upstream change through b11819 without the configured six-hour aging window; the supplied validation also covers only b11819/b11820. Wait until b11819 becomes the selected base or pin an Inkling resolution whose ancestry does not advance the base.
Useful? React with 👍 / 👎.
| "https://github.com/unslothai/llama.cpp/pull/283/commits/644ca7d817b8a591c61dee2e17778b43b1ecf3eb", | ||
| "https://github.com/unslothai/llama.cpp/pull/287/commits/22fb037b1b84513e141d724bb9403ecb48925e32", | ||
| "https://github.com/unslothai/llama.cpp/pull/298/commits/d1781c3ea6ab7c75c635a8fea60d2b3f4937c645", | ||
| "https://github.com/unslothai/llama.cpp/pull/298/commits/be8365722ea432809818fa21a4ecebfac2e7d298", |
There was a problem hiding this comment.
Add gates for the newly pinned DeepSeek behaviors
This head adds output-LoRA, DSpark denominator, MTMD placeholder-count, and namespaced DSML behavior, but feature-checks.json still runs only the existing arch:deepseek41, GET_ROWS, and projector-registry probes. The arch probe never loads an adapter, probe_mtmd only invokes test_projector_registry, and the preflight neither builds nor runs test-chat, so incorrect LoRA/router results, placeholder counts, or tool-name parsing can still produce the unchanged 15/15 feature pass. Extend the manifest and preflight gate with probes that exercise the newly accepted behavior before widening this pin.
Useful? React with 👍 / 👎.
…taken by ggml-org#30974, test labels from ggml-org#31036)
The prebuilt is upstream ggml-org at an aged b#### tag plus the pins in scripts/unsloth/pr-set.json, merged in order (git diff3, then additive_merge.py for pure add/add conflicts only). When upstream absorbs a pin, the pin is deleted.
On today's aged base (b11812) and the newest tag (b11819), master's pin set stops at the merge step: #314 and ggml-org#25731 are refused, and pin_contract reports 2 pins not intact.
flintfeature check stays with owner nullprecparameterThe Inkling commit is a single "Fix merge conflicts" merge of b11819 (the oldest tag with DOMYN_SMALL) into the previous pin e1b89cf, and it merges cleanly with ggml-org master.
Per-tag evidence (llama_pinset.py):
CUDA (b11820, B200): full CUDA build ok, test-chat ok, test-backend-ops MUL_MAT 2582/2582, MUL_MAT_ID 1027/1027, PAD 37/37, GET_ROWS 349/349.
Inkling numeric gate (llama_pinset.py gate, Inkling-Small UD-IQ1_S, wikitext-2 -c 512, 20 chunks, B200): old pin e1b89cf vs new pin d0cd5c0 vs d0cd5c0 merged with ggml-org master: PPL 39.199589 on all three, mean KLD 0.000000, same top-1 100%. d0cd5c0 is now the head of ggml-org#25731 (fast-forward from e1b89cf).
Not covered: ROCm / Vulkan / macOS / Windows / ARM legs, tags after b11827, the glm5-next chunked path above 16384 new pools (no test reaches it; the view offset is the same byte offset as before).
The qwen4exp DFlash fix (#307) is not pinned: upstream ggml-org#30927 makes the same change and reaches the base with the next tag.
Repin Inkling (ggml-org#25731) and #266 for base b11838
The nightly prebuilt (run 40019033180, base b11838) stopped in Resolve tag: ggml-org#25731 no longer merges onto the aged tag. The prebuilt is the aged upstream
b####tag plus the pins inscripts/unsloth/pr-set.json, merged in order (git diff3, thenadditive_merge.pyfor pure add/add only). With the pins from #318, two of them are refused on b11838 and b11840. Each is fixed in its own branch by merging b11838 into that branch (git merge --no-ff b11838, commitFix merge conflicts). Upstream lines are kept verbatim and only the pin's own change is re-applied. Nothing is rebased.LLAMA_VOCAB_PRE_TYPEvalue 64, which Inkling also used. ggml-org#31036 (ci: behavior check workflow) relabelled the tests next to Inkling'stests/CMakeLists.txtadditionscaseinllama-vocab.cpp. In CMake, upstream's labelled lines are taken and the two flash-attn test blocks are re-added in frontfb9ddb92df2c4f71417172626e86d7e6bfe55a96(wasd0cd5c06d)llama_build_and_testlines around the pin's test linetest-mmap-populate-budgetline re-added aftertest-batch-allocaf3b2bc3201ecf75cf7fd1fbb1f76e264920809d(was1eae0b577)The diff of each new head against b11838 is the same as the pin's own diff against its old merge base: Inkling 70 files, +4119/-126; #266 5 files, +481.
Evidence
Window: b11838 (aged now) and b11840 (ages in at 22:46Z).
Before the repin, the same set failed on both tags: ggml-org#25731 and #266 refused, pin_contract 2 pins not intact.
Inkling numeric gate (
unsloth/Inkling-Small-GGUFUD-IQ1_S, wikitext-2-c 512 --chunks 20, reference A =d0cd5c06d):The new Inkling head also merges cleanly with current ggml-org master (arm C).
Not covered
b11846: #241 repinned
The prebuilt is upstream ggml-org at an aged
b####tag plus the pins inscripts/unsloth/pr-set.json, merged in order. Text merges use git diff3 and fall back toadditive_merge.pyonly for pure add/add conflicts. b11846 (published 2026-10-24 00:01Z, ages in at 06:01Z) is the next tag the nightly can pick. With the set as it was, #241 does not merge on it.Breaking upstream PR
ggml_cuda_graphnow holds astd::vector<cudaGraphExec_t> instanceswhere it used to holdgraph/instance, andggml_cuda_graph_update_executable()now takes(cudaGraphExec_t &, cudaGraph_t)where it used to take(ctx, graph_key).const void *(first node) to auint64_thash of the first node,n_nodesand the first and last node shapes. One of the signatures it retyped wasggml_cuda_graph_update_executable(..., const void * graph_key), and upstream rewrote that same line, so the merge refused onggml/src/ggml-cuda/ggml-cuda.cu.Fix (in #241's own branch, no carry pin)
git merge --no-ff b11846intocarry/superseded-pin-optimizations(7fa42ff), commitFix merge conflicts(f5fb11c).ggml_cuda_graph_update_executable(cudaGraphExec_t & instance, cudaGraph_t cuda_graph)as is. That function no longer takes a graph key, so the pin has nothing to retype there. Everything else the pin does auto-merged and is unchanged: theuint64_tkey andggml_cuda_graph_get_key()hash, theuint64_tmap key andcuda_graph(uint64_t)incommon.cuh, theuint64_tsignatures ofggml_cuda_graph_evaluate_and_capture/ggml_cuda_graph_set_enabledand their callers, andsrc/llama-memory-hybrid-idx.cpp.graph->instance,graph->graph,update_executable(ctx, key)) and found none. Upstream's new chunk code callscuda_ctx->cuda_graph(graph_key)with the pin'suint64_tkey, so each shape still gets its own entry, and each entry now holds that shape's chunk instances.common.cuh+12/-6,ggml-cuda.cu+33/-7,llama-memory-hybrid-idx.cpp+5/-2. That is the pin's own change minus theupdate_executableretype upstream removed. The pin'sllama-mmap.cppline was already absorbed upstream by llama : do not map foreign ranges into a backend buffer ggml-org/llama.cpp#30405 (in b11838 already, not related to this fix).Per-tag evidence (local sim + verify)
Before the fix, b11846 had #241 REFUSED on
ggml/src/ggml-cuda/ggml-cuda.cuand pin_contract reported 1 pin not intact.verify --tag b11846 --cudaon the merged tree:llama test-llama-archs test-backend-ops test-mtmd-impl): okNot covered locally: ROCm, Vulkan, macOS, Windows and ARM legs (nightly only),
uncheckedpins, and tags newer than b11846.