Skip to content

QVAC-20631 chore: DO NOT MERGE, overlay-validate the 7 fabric consumers against qvac-fabric 10297.1.0 - #4100

Draft
iancris wants to merge 2 commits into
mainfrom
rollout-fabric-10297.1.0
Draft

QVAC-20631 chore: DO NOT MERGE, overlay-validate the 7 fabric consumers against qvac-fabric 10297.1.0#4100
iancris wants to merge 2 commits into
mainfrom
rollout-fabric-10297.1.0

Conversation

@iancris

@iancris iancris commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

DO NOT MERGE

Validation branch for the qvac-fabric 10297.1.0 rollout, Phase A. It carries a temporary vcpkg overlay that pins qvac-fabric to commit b098a1f0508356bbfd97c8ba761ebcdcdce682e2 — the head of fabric PR tetherto/qvac-fabric-llm.cpp#214, "QVAC-24112 fit: budget against real memory availability".

Merging this would point every consumer at a temporary overlay. The overlay is validation scaffolding only and must be removed in Phase B, after the registry port is published and the tag v10297.1.0 exists.

What problem does this PR solve?

The 7 fabric consumers need to be validated against the fabric commit that will become 10297.1.0 before the consumer dependency floors are bumped.

The overlay on this branch previously pinned the temp-10297 branch head (29db2fb9f). Fabric PR #214 is 5 commits ahead of, and 0 behind, temp-10297 and is not yet merged, so that pin never exercised it. #214 changes API surface the consumers compile against:

  • ggml/include/ggml-backend.h — public header
  • common/fit.cpp, common/fit.h — the budgeting API @qvac/model-fit is named for
  • ggml/src/ggml-cpu/ggml-cpu.cpp, ggml/src/ggml-metal/ggml-metal-device.m, ggml/src/ggml-metal/ggml-metal.cpp

How does it solve it?

  • Adds the shared overlay port at vcpkg-overlays/ports/qvac-fabric/, pinned by commit SHA (not a tag — v10297.1.0 does not exist yet).
  • Adds "overlay-ports": ["../../vcpkg-overlays/ports"] to all 7 fabric consumers:
    • embed-llamacpp
    • fabric
    • llm-llamacpp
    • model-fit
    • ocr-ggml
    • translation-nmtcpp
    • vla-ggml
  • Leaves consumer version>= pins untouched at 10297.0.0. The overlay bypasses version resolution entirely, so only the overlay port's own version matters here; bumping the pins is Phase B.
  • Leaves default-registry.baseline untouched in all 7.

@qvac/classification-ggml is deliberately not included — it dropped the qvac-fabric vcpkg dependency and consumes the published npm package instead.

Tested

  • Diff against the merge base is exactly the 9 expected files, 302 insertions, 0 deletions.
  • SHA512 computed with shasum -a 512 over the /archive/ tarball vcpkg actually fetches (37,446,085 bytes, gzip -t clean). Worth confirming with vcpkg hash before final handoff, as vcpkg was not available in the authoring environment.
  • All 7 on-pr-<consumer>.yml workflow files confirmed present on this ref.

Notes for reviewers

  • Expect cpp-lint failures that are not this change. Re-pinning the overlay changes the qvac-fabric port's vcpkg ABI hash, so qvac-fabric is a guaranteed cache miss and gets compiled from source on every consumer. Compiling any port from source on the qvac-ubuntu2204-x64 pool currently trips a libc++/clang version mismatch in the runner image — tracked as QVAC-24201. The signature is "Libc++ only supports Clang 20 and later" followed by error: "remove_reference not implemented!". That is environmental, not fabric.
  • Fabric PR release(qvac-lib-registry-client): v0.2.0 #214 is not merged, and its own CI has a failing windows job. If its head moves, this overlay must be re-pinned and all 7 consumers re-run.
  • Earlier green results on this branch against the 29db2fb9f pin do not carry over — they validated a fabric that did not contain the fit change.

am17an and others added 2 commits August 26, 2026 11:36
DO NOT MERGE. Rollout Phase A validation branch for qvac-fabric 10297.1.0.

Adds the shared qvac-fabric overlay port pinned at the temp-10297 head
(29db2fb9f, "Merge pull request #210 from tetherto/mtp_drafter — RPC: More TP
improvments") and points all 7 consumers at it, so they build against the
merged fabric commit before the v10297.1.0 tag exists and before anything is
published to the registry.

Consumer version>= pins are untouched at 10297.0.0 — the overlay bypasses
version resolution entirely, so only the overlay port's own version matters
here; bumping the pins is Phase B. default-registry.baseline is untouched in
all 7.

Rollout-Overlay: qvac-fabric 10297.1.0 ref=29db2fb9fd0aab52590926922b66da6edea7c340 sha=29db2fb9fd0aab52590926922b66da6edea7c340
DO NOT MERGE. Rollout Phase A validation branch for qvac-fabric 10297.1.0.

Moves the shared qvac-fabric overlay port from the temp-10297 branch head
(29db2fb9f) to the head of fabric PR #214 (b098a1f05, "QVAC-24112 fit: budget
against real memory availability"), so the 7 consumers build against the fit
change before it is merged and before the v10297.1.0 tag exists.

PR #214 is 5 commits ahead of, and 0 behind, temp-10297. It touches
ggml/include/ggml-backend.h, common/fit.cpp and common/fit.h — public API
surface every consumer compiles against, and the budgeting API @qvac/model-fit
is named for — so the previous pin at the branch head never exercised any of
it.

Consumer version>= pins are untouched at 10297.0.0 — the overlay bypasses
version resolution entirely, so only the overlay port's own version matters
here; bumping the pins is Phase B. default-registry.baseline is untouched in
all 7. The overlay port's own version stays 10297.1.0.

Re-pinning changes the fabric every consumer builds against, so all 7 are
re-dispatched. The greens recorded against the 29db2fb9f pin no longer apply
and must not be read as validating this ref.

Rollout-Overlay: qvac-fabric 10297.1.0 ref=b098a1f0508356bbfd97c8ba761ebcdcdce682e2 sha=b098a1f0508356bbfd97c8ba761ebcdcdce682e2
@iancris
iancris requested review from a team as code owners August 26, 2026 18:03
@iancris iancris added prebuilds CI: run only prebuild/cache stage (requires verified) run-cpp-addon-tests CI: run C++ addon tests (requires verified) run-desktop-addon-tests CI: run desktop integration tests (requires verified) run-coload-tests CI: run multi-addon co-load smoke (requires verified) labels Aug 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Review Status

Current Status: ❌ PENDING
Approvals so far: none

Pending reviews: Needs 1 Management or Team Lead, and 1 more from Management, Team Lead, or Member.

@github-actions

Copy link
Copy Markdown
Contributor

License compliance — clean

No new dependency license findings in this PR.

Warn-only (shadow) mode — this check does not block merges yet.

Updated automatically by the canonical license compliance workflow.

NOTICE presence (advisory)

Missing NOTICE (advisory, does not block):

  • ./.github/actions/release-merge-guard
  • ./docs/website
  • ./packages/ggml-coload-smoke
  • ./packages/fabric/test/integration
  • ./packages/inference-addon-cpp/mobile
  • ./packages/sdk/e2e
  • ./packages/llm-llamacpp/benchmarks/performance
  • ./packages/llm-llamacpp/benchmarks/server
  • ./packages/vla-ggml/sim/server
  • ./packages/embed-llamacpp/benchmarks/performance
  • ./packages/embed-llamacpp/benchmarks/server
  • ./packages/asr-ggml/benchmarks/server

@github-actions

Copy link
Copy Markdown
Contributor

🧪 C++ Test Coverage Report

Coverage:

📊 Detailed Coverage
Filename                         Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NmtLazyInitializeBackend.cpp          99                20    79.80%          11                 1    90.91%         157                36    77.07%          66                21    68.18%
NmtLazyInitializeBackend.hpp           2                 0   100.00%           1                 0   100.00%           1                 0   100.00%           0                 0         -
TranslationModel.cpp                 296               168    43.24%          28                 8    71.43%         506               213    57.91%         181               122    32.60%
TranslationModel.hpp                   1                 0   100.00%           1                 0   100.00%           1                 0   100.00%           0                 0         -
nmt.cpp                               72                22    69.44%           9                 1    88.89%         137                28    79.56%          44                16    63.64%
nmt.hpp                               51                 4    92.16%          11                 2    81.82%          53                 4    92.45%          28                 0   100.00%
nmt_beam_search.cpp                  116                25    78.45%          10                 3    70.00%         254                32    87.40%          76                19    75.00%
nmt_graph_decoder.cpp                164                78    52.44%          15                 7    53.33%         540               161    70.19%         112                69    38.39%
nmt_graph_encoder.cpp                 54                13    75.93%           3                 0   100.00%         268                33    87.69%          37                16    56.76%
nmt_loader.cpp                       270                67    75.19%          14                 0   100.00%         774                97    87.47%         161                67    58.39%
nmt_state_backend.cpp                253                94    62.85%          21                 0   100.00%         489               128    73.82%         165                87    47.27%
nmt_tokenization.cpp                  88                21    76.14%           8                 0   100.00%         135                36    73.33%          61                26    57.38%
nmt_utils.cpp                        120                89    25.83%           8                 3    62.50%         180               134    25.56%          78                63    19.23%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                               1586               601    62.11%         140                25    82.14%        3495               902    74.19%        1009               506    49.85%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prebuilds CI: run only prebuild/cache stage (requires verified) run-coload-tests CI: run multi-addon co-load smoke (requires verified) run-cpp-addon-tests CI: run C++ addon tests (requires verified) run-desktop-addon-tests CI: run desktop integration tests (requires verified)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants