Skip to content

fix: reject unsafe Qwen3.8 graph-mode GDN reuse - #295

Draft
matthewygf wants to merge 2 commits into
dsv4_support_045from
codex/qwen38-require-eager
Draft

matthewygf wants to merge 2 commits into
dsv4_support_045from
codex/qwen38-require-eager

Conversation

@matthewygf

Copy link
Copy Markdown
Collaborator

Summary

PR #292 merged Qwen3.5-family GDN/MTP cache reuse into dsv4_support_045. Its own acceptance evidence records truncated Qwen3.8-27B outputs after external-cache reuse in graph mode, including a four-token prefill tail with MTP3. The eager equivalents passed.

The merged validator nevertheless accepts qwen3_5_text targets with enforce_eager=False, and its tests explicitly treated that combination as supported. This allows a known silent-correctness failure to start.

This draft:

  • requires eager target execution for the dense qwen3_5_text GDN/MTP path;
  • keeps eager dense execution supported;
  • keeps both eager and graph execution supported for the separately validated qwen3_5_moe_text path;
  • adds a fail-fast regression and narrows the prior acceptance matrix.

Validation

  • Isolated execution of the actual validator: 5/5 cases passed (dense graph rejected; dense eager, MoE eager, MoE graph, and non-MTP accepted).
  • python -m py_compile passed for both changed Python files.
  • SPDX header validation passed.
  • isort==6.0.1 --check-only passed.
  • ruff==0.11.7 check passed.
  • ruff==0.11.7 format --check passed.
  • git diff --check passed.

The full pytest target could not run locally because PyTorch, vLLM, LMCache, and pytest are unavailable in the runner. Repository CI and NPU validation are still required.

Risk

The behavior change is limited to Qwen3.5-family MTP configurations whose target model type is qwen3_5_text and whose target is not eager. Those deployments will now fail during configuration validation and must use --enforce-eager.

This is intentionally conservative: the shared model-type identifier does not provide a reliable narrower distinction for the affected Qwen3.8 dense target. Safe configurations are unchanged.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant