Skip to content

main is RED: hf_snapshot.h calls HfSnapshot before it is declared, blocking 14 parity TUs including the SACRED gates #551

Description

@localai-bot

Current origin/main (8b00f79f2) does not compile the parity suite.

tests/parity/hf_snapshot.h:52Nemotron35LightningSnapshot() calls HfSnapshot(...), but HfSnapshot is declared 11 lines below it, at :58.

hs.h: In function ‘std::string parity::Nemotron35LightningSnapshot()’:
hs.h:52:10: error: ‘HfSnapshot’ was not declared in this scope
   52 |   return HfSnapshot("models--nvidia--NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4",
      |          ^~~~~~~~~~

Reproduced in isolation against the pristine blob — this is the header itself, not any local merge or build configuration:

git show origin/main:tests/parity/hf_snapshot.h > hs.h
printf #include "hs.h"\nint main(){return 0;}\n > t.cpp
g++ -std=c++20 -fsyntax-only t.cpp     # fails as above, no vllm.cpp include path involved

Introduced by af8170154 ("evidence(MODEL-TEXT-nemotron-h): the pinned oracle LOADS AND RUNS Nemotron-3.5-Lightning on GB10 (#517)").

Blast radius: 14 translation units fail to build, every one with this identical error — test_qwen36_weights, test_op_parity, test_qwen36_paged_engine, test_qwen36_async_serving, test_qwen36_spec_decode, the test_qwen27*/test_qwen27n* suites, test_qwen3_dflash_draft_parity, test_qwen3_dflash_kvprep_parity, and test_hf_snapshot_pinning. A serial ctest reports 97% tests passed, 14 tests failed out of 401, where all 14 are ***Not Run (missing executables) rather than assertion failures.

Why this matters beyond the build break: those are the checkpoint-gated parity suites — the SACRED 27B/35B/Coder token gates. Any row currently owing GPU evidence cannot obtain it against main until this is fixed.

Why it was not caught: these TUs are checkpoint-gated, so on a host without the snapshots they skip at runtime; but they still have to compile. A CPU-only or snapshot-less CI leg that builds only the default target would not surface it, and the failure mode on a full build is 14 identical errors that look like an environment problem.

Fix is a one-line ordering change: move Nemotron35LightningSnapshot() below HfSnapshot’s definition (or forward-declare HfSnapshot). Found while merging origin/main into row/MODEL-QWEN38-TEXT-ONLY (#490); not repaired there, since a reviewer/implementer must not silently fix an unrelated defect inside another row.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions