Skip to content

Qwen3-Coder gates resolve whatever snapshot happens to be cached: FindQwen3CoderSnapshot takes the first directory with a config.json #899

Description

@localai-bot

Three gate files resolve the Qwen3-Coder checkpoint by walking the HF cache and returning the first snapshot directory that contains a config.json:

// tests/vllm/models/test_qwen3coder_paged_engine.cpp:89-101
std::string FindQwen3CoderSnapshot() {
  const fs::path snaps = fs::path(home) /
      ".cache/huggingface/hub/models--Qwen--Qwen3-Coder-30B-A3B-Instruct/snapshots";
  for (const auto& e : fs::directory_iterator(snaps, ec)) {
    if (fs::exists(e.path() / "config.json", ec)) return e.path().string();
  }
  return "";
}

Duplicated verbatim in three files: test_qwen3coder_paged_engine.cpp:89, test_moe_two_engines.cpp:51, test_qwen3_moe_load.cpp:42.

No revision is pinned and none is asserted. If two snapshots are cached, iteration order decides which one the gate measures — and nothing in the output says which.

Why this is the exact weakness hf_snapshot.h exists to close

Sitting beside these, the 27B gate pins its revision explicitly:

// tests/parity/hf_snapshot.h:31-33
// The revision the committed 27B goldens were captured against.
inline constexpr const char* kQwen27NvfP4Revision =
    "890bdef7a42feba6d83b6e17a03315c694112f2a";

That pin was added because a repo was silently re-quantized under the same name — the unsloth 27B advertised as NVFP4 became FP8 without a name change, so every lever measured against it was inert while the gate stayed green. The Coder gates have precisely that exposure today.

The goldens these tests compare against were captured at some revision. Nothing records which, and nothing prevents a future snapshot_download from adding a second directory that silently becomes the subject.

Blast radius

The Coder gate is one of the three SACRED inertness gates (27B / 35B / Coder). It is cited as inertness evidence for every change touching the shared Qwen3.5 loader — including the four arms landed in #490, #740 and #864. Inertness evidence resolved against an unspecified checkpoint is weaker than it reads.

Fix

Pin the revision the goldens were captured against, in hf_snapshot.h alongside the others, and assert the resolved snapshot matches — aborting loudly rather than measuring a different model. parity::Qwen27NvfP4Snapshot() and its siblings are the shape to follow. The three duplicated copies should collapse into that one helper while this is done.

Found while fetching the Coder checkpoint for a SACRED inertness re-run on a reimaged box, where the absence of any cached snapshot made the unpinned resolution visible.

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