Restore llama.cpp upstream canary patch replay - #609
Merged
Conversation
michaelneale
added a commit
that referenced
this pull request
May 21, 2026
macOS runners are rejecting `-fuse-ld=/opt/homebrew/bin/ld64.lld` with `clang: error: invalid linker name in argument`. Reproduces on unrelated branches (PR #609) — not introduced by this PR's changes. Gating with `false &&` so the job stays defined but skips. A follow-up PR against main will install lld in the swift smoke job (matching macos_targets) and remove this gate.
Collaborator
|
will jhave to fix swift thing separately. |
michaelneale
added a commit
that referenced
this pull request
May 21, 2026
* ci(sdk-smoke): install lld in macOS swift smoke job The Swift SDK smoke job has been failing on macOS runners with: clang: error: invalid linker name in argument '-fuse-ld=/opt/homebrew/bin/ld64.lld' The transitive cargo build inside `sdk/swift/scripts/generate-swift-bindings.sh` runs in a temp dir and ends up invoking `cc` with `-fuse-ld=/opt/homebrew/bin/ld64.lld`. Apple clang accepts that flag only when the linker binary actually exists on disk; the job only installed `jq` so the link step failed. The `macos_targets` job already does `brew install ... lld` for the same reason. Install it in the swift smoke lane too. Reproduced on multiple branches (PRs #566, #609); not specific to any one change. * ci(sdk-smoke): re-enable swift smoke gate now that lld install is fixed This PR installs lld in the macOS swift smoke job, which was the root cause of the linker failure that prompted the temporary 'if: false &&' bypass in 1b1aaf4. Re-enable the normal gate. * ci(compute-changes): route sdk-smoke.yml edits into sdk_smoke_required A PR that only edits .github/workflows/sdk-smoke.yml (e.g. this one) otherwise can't trigger the swift/linux/kotlin SDK smokes it's trying to fix — classic catch-22. Add the reusable workflow file itself to DIRECT_SDK_INPUTS.
Collaborator
|
oh thanks @IvGolovach - worthwhile updating this to main to be sure? |
Validation * Validation tier: Tier 4 — llama.cpp patch queue/upstream pin maintenance plus narrow parity-helper correction surfaced by the fresh-main rebase. * git fetch --no-tags origin main:refs/remotes/origin/main: PASS, validated base 559dc7b. * git diff --check origin/main...HEAD: PASS, no output. * git diff --check: PASS, no output. * git diff --cached --check: PASS, no output. * LLAMA_WORKDIR=/tmp/mesh-llm-llama-rebase.DnDzcs scripts/prepare-llama.sh pinned: PASS, upstream 6a257d44633d4a752183ed778b88d2924d0a6b9d, patched e43ab36164c9b94ba0c36a5599ba7262cb0613e5. * cargo fmt --all -- --check: PASS. * python3 -m py_compile scripts/skippy-llama-parity.py: PASS. * scripts/skippy-llama-parity.py --llama-src /tmp/mesh-llm-llama-rebase.DnDzcs validate: PASS. * Ledger: not applicable — not required for selected validation tier/change family. * Version: not applicable — this updates the llama.cpp upstream pin/patch queue, not a mesh-llm release version. * Not run: just build — not required for this fresh-main rebase/update; mandatory PR Builds validates the final pushed SHA. * Not run: scripts/skippy-ci-smoke.sh — not required for local PR-ready proof; local hf CLI is unavailable here, and the upstream canary installs hf and remains the remote smoke gate. Rollback * git revert HEAD
IvGolovach
force-pushed
the
codex/rebase-qwen35moe-llama-patch
branch
from
May 21, 2026 04:23
46a9efb to
3173406
Compare
Collaborator
Author
|
Thanks for the nudge — I rebased #609 onto current main and kept it focused on the llama.cpp patch replay now that the Swift smoke fix has landed separately. Fresh CI is green now. I also tightened one small parity-helper false positive around Mistral4’s inherited staged graph that showed up during the fresh-main validation. Appreciate the catch 🙂 |
michaelneale
added a commit
that referenced
this pull request
May 21, 2026
…erse-answers * origin/main: Rebase llama.cpp patch queue for upstream canary (#609)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restores the llama.cpp upstream canary by rebasing the Mesh-LLM patch queue onto current upstream llama.cpp, now replayed on fresh
main.6a257d44633d4a752183ed778b88d2924d0a6b9d.h_pre_normgraph result path.main.Why
The scheduled llama.cpp upstream canary was failing before it could build or smoke-test Skippy because patch
0009-Support-Qwen35MoE-runtime-slice-packages.patchno longer applied to upstream master.The root cause is upstream graph churn around Qwen35/Qwen35MoE: the main transformer stack is now separated from NextN/MTP blocks, and the graph also carries a pre-norm output path. Skippy runtime slices need to execute only the main transformer layer range while preserving the upstream MTP/pre-norm behavior for full/output stages.
After review, this branch was rebased onto current
mainso the patch replay is validated with the latest MoA/runtime and Swift smoke fixes already landed upstream.Implementation
0009so Qwen35MoE slices clamp staged execution ton_layer - nextn_predict_layers, keep token embeddings only on the first slice, and build output row ids only for full/output slices.0010so recurrent-only Qwen35MoE slices still avoid attention-position inputs when the selected slice contains no attention layer.0057and0076around upstream'sh_pre_normgraph result addition while preserving RWKV7 and Gemma3n activation sidebands.0064with the same Qwen35 NextN/MTP treatment used for Qwen35MoE.third_party/llama.cpp/upstream.txtto the validated upstream SHA.mistral4to the parity helper's inherited staged-graph mapping because upstream dispatches Mistral4 through the DeepSeek2-backed graph implementation.Compatibility
LLAMA_CPP_SHAfile is added; the current repo pin mechanism isthird_party/llama.cpp/upstream.txt.Validation
git fetch --no-tags origin main:refs/remotes/origin/main: PASS, validated base559dc7bcgit diff --check origin/main...HEAD: PASS, no outputgit diff --check: PASS, no outputgit diff --cached --check: PASS, no outputLLAMA_WORKDIR=/tmp/mesh-llm-llama-rebase.DnDzcs scripts/prepare-llama.sh pinned: PASS, upstream6a257d44633d4a752183ed778b88d2924d0a6b9d, patchede43ab36164c9b94ba0c36a5599ba7262cb0613e5cargo fmt --all -- --check: PASSpython3 -m py_compile scripts/skippy-llama-parity.py: PASSscripts/skippy-llama-parity.py --llama-src /tmp/mesh-llm-llama-rebase.DnDzcs validate: PASSRemote gates:
Not run locally:
just build: not required for this fresh-main rebase/update; mandatory PR Builds validates the final pushed SHA.scripts/skippy-ci-smoke.sh: localhfCLI is unavailable here; the upstream canary installshfand remains the remote smoke gate for this path.Rollback
Revert this PR.
Related
Fixes #603