fix(build): main is RED — hf_snapshot.h calls HfSnapshot before it is declared (#551, #546) - #555
fix(build): main is RED — hf_snapshot.h calls HfSnapshot before it is declared (#551, #546)#555localai-bot wants to merge 1 commit into
Conversation
…s declared (#551, #546) `Nemotron35LightningSnapshot()` landed with the Nemotron-3.5 goldens (#517) ten lines ABOVE the `HfSnapshot` definition it calls. Name lookup in the body of a non-template function only sees declarations that precede it, so the header does not compile: tests/parity/hf_snapshot.h:52:10: error: 'HfSnapshot' was not declared in this scope That header is included by 16 test translation units, including the SACRED 27B and 35B parity gates, so CPU builds fail outright -- `build-test-cpu` is red on main at 8b00f79 and on every PR branched from it. The fix is to put the accessor where every other accessor in this file already sits: below `HfSnapshot`, next to the Qwen and DFlash ones. Nothing else moves, the pinned revision constant stays with its documentation, and the two checkers that PARSE this header for its pins -- test_check_snapshot_pins and test_online_gate_server_binary -- stay green (19 and 20 tests). RED before: the header fails `g++ -std=c++20 -fsyntax-only` at the line above. GREEN after: it compiles clean. That compile IS the test, and the 16 TUs already run it in CI. Worth recording: `Nemotron35LightningSnapshot()` has no caller yet. It is staged for the gate that #517 owes, which is why nothing but the build noticed. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
|
Superseded by #556 (
GitHub reports The defect itself is fixed on main and verified: No objection to #556's placement; this branch's end-of-namespace variant is not worth a follow-up. |
…e, committed as the RED anchor of the forward-divergence fix Issue mudler#41 M4, second model. The GDN sibling of the Qwen3-dense gate: test_qwen35_paged_engine drives the standard 16-prompt battery through the full paged engine and holds our ROCm tokens against the pinned vLLM-ROCm oracle (555967922 / 0.23.1rc1.dev1511+g555967922, same container as the 0.6B lane) via the anchor + <=0.5-nat near-tie band, with the GDN backend proof (all 15 dispatched ops selections>0 and declines==0). VERDICT AT LANDING: RED BY DESIGN -- the gate FAILS 13/16 prompts (0/16 strict, 3/16 near-tie band, max teacher-forced gap 14.125 nats; first-token divergences on 6 prompts). This is the known 0.8B CPU/ROCm divergence, now oracle-measured: a REAL forward divergence, not a distributional near-tie. The oracle K=10 capture is deterministic in every cell. Backend proof is GREEN (kPagedAttention 1,536 / kGdnDecode 4,320 selections, 0 declines) -- the divergence is numerical, not dispatch. This commit is the RED test of the fix lifecycle: the gate goes GREEN when the 0.8B forward lands. Goldens carry a manifest.json (oracle identity + the real HF revision 2fc06364...); the gate resolves the checkpoint through parity::HfSnapshot at that pinned revision (check-snapshot-pins clean). hf_snapshot.h gains the kQwen35_08BRevision pin + resolver, and a forward declaration fixing the call-before-declaration order hipcc rejects (mudler#555 carries the canonical main-side fix). FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: pi:kimi-k3 [pi]
maindoes not build. Closes #551 and #546.Nemotron35LightningSnapshot()landed with the Nemotron-3.5 goldens (#517) ten lines above theHfSnapshotdefinition it calls. Name lookup in the body of a non-template function only sees declarations that precede it, so the header does not compile:That header is included by 16 test translation units, including the SACRED 27B and 35B parity gates, so CPU builds fail outright —
build-test-cpuis red on main at8b00f79f2and on every PR branched from it.The fix puts the accessor where every other accessor in this file already sits: below
HfSnapshot, next to the Qwen and DFlash ones. Nothing else moves and the pinned revision constant stays with its documentation.Evidence
g++ -std=c++20 -fsyntax-onlyon the header fails at the line above.test_check_snapshot_pins19/19,test_online_gate_server_binary20/20.scripts/agent-preflight.sh --staged: All gates green.Worth recording:
Nemotron35LightningSnapshot()has no caller yet — it is staged for the gate #517 owes, which is why nothing but the build noticed.FOLLOWING_AGENTS_PROTOCOL