Repository navigation
test(skippy-ffi): update llama_context_params layout for b12199 - #2987
Conversation
The b12199 bindings added moe_cache_cpu_share; the expected sizes and offsets still described the previous header.
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
…kage (#296) Three canaries fail on upstream main for reasons unrelated to the nixpkgs recipes under review. Each fix stays in the canary's overlay, so the pinned release builds don't change. - **buzz-app** (#215): main dropped the `/usr/bin/printenv` git shim in `crates/plugin-manager/src/imports.rs` (block/buzz-app#2665, which supersedes block/buzz-app#2417), so the recipe's `--replace-fail` stopped matching in patchPhase. The canary turns that substitution into `--replace-quiet`. The 0.7.16 recipe keeps it as is; it can go once the recipe's buzz-app version contains #2665. - **mesh-llm** (#253): `skippy-ffi` `llama_draft::tests::mirrors_match_the_pinned_upstream_layouts` fails on every platform (176 vs 168). That isn't our llama.cpp: the size comes from the committed bindgen output (`src/bindings/llama.rs`), which gained `moe_cache_cpu_share` with the b12199 upgrade (Mesh-LLM/mesh-llm#2953) while the test kept the old numbers. Upstream CI doesn't run that crate's tests. Skipped in the canary. upstream: Mesh-LLM/mesh-llm#2987 - **Buzz** (#291): a new buzz-cli test (block/buzz#9270) checks its child with `/bin/kill`, which the Linux sandbox lacks (darwin passed). The canary substitutes util-linux's `kill` on Linux. tracking: #295 Checked by evaluating each overlay against `kleinbem/nixpkgs` buzz-app-prep, mesh-llm-dev and buzz-next. I'll start the three canaries on this branch to confirm. Part of #215, #253, #291. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **Chores** * Updated packaging adjustments for Buzz, Buzz CLI and Mesh LLM. These changes affect build and test handling and do not add or change end-user features. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 5.5 <[email protected]>
i386
left a comment
There was a problem hiding this comment.
Verdict: content-good — ready for owner approval (owner gate applies).
Head 9787bfa001. Test-only: refreshes the LlamaContextParams ABI mirror to the b12199 pin's layout (size 168→176, moe_cache_cpu_share@120, abort_callback@128) — the struct fields came with #2953's upgrade and this catches the mirror up. Coherent +8 growth with the two new fields exactly where expected; CI green at head across 67 lanes including the platforms these layout tests run on.
Note: #2962 carries the same realignment as commit ea99a7c0a — coordinate so only one lands with it.
Original problem
llama_draft::tests::mirrors_match_the_pinned_upstream_layoutsfails on main:size_of::<LlamaContextParams>()is 176, the test expects 168. The b12199 upgrade (#2953) regeneratedbindings/llama.rswith the newmoe_cache_cpu_sharefield ofllama_context_params, and the expected sizes in this test were not updated. CI did not catch it becauseci-rust-tests-slice.ymlskipsskippy-ffiin its test loop and the Windows unit row doesn't list it; I hit it in a fullcargo test --workspace --libpass on Windows.Diagnostics
The bindings are right, the test values are stale.
llama.hat the pinned upstream revision (372dc5ca1,skippy/llama_cpp/upstream.txt) declaresfloat moe_cache_cpu_shareaftermoe_cache_size, and the patch queue doesn't touch the struct. Compiled with MSVC against those headers:llama_context_paramsis 176 bytes,moe_cache_cpu_shareat 120,abort_callbackat 128,embeddingsat 144,samplersat 152,ctx_otherat 168.llama_batch(56) andllama_model_params(80, unchanged offsets) still match.Fix
Update the
llama_context_paramsexpectations to those measured values, and also pinmoe_cache_cpu_shareandabort_callbackso the next field change shows up at the field rather than only in the total.Validation
cargo test -p skippy-ffi --lib --features skippy-ffi/dynamic-runtimeon Windows: 13 passed.cargo fmt --all --checkclean.Summary by CodeRabbit
LlamaContextParams.