Skip to content

fix: correct Bailing MoE Linear prefill state contract - #2299

Merged
inureyes merged 5 commits into
mainfrom
fix/issue-2287-bailing-chunk-contract
Oct 14, 2026
Merged

inureyes merged 5 commits into
mainfrom
fix/issue-2287-bailing-chunk-contract

Conversation

@inureyes

@inureyes inureyes commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Disable cache-level chunked prefill for Bailing MoE Linear because multi-token no-ID forwards intentionally reset model-owned recurrent and KV state. Add a loaded six-layer regression proving independent prompts reset every recurrent layer while stable sequence-ID chunks retain state.

Integrate main b159c89d, including MLX 243bdf09 and mlxcelverse, without source conflicts. The rebuilt CUDA test-fast binary passes all 36 Bailing MoE Linear tests. CUDA Clippy with warnings denied, formatting, and diff checks pass. Earlier shared integration checks passed 123 Python tests and 49 WebUI fixtures; bilingual reports preserve their provenance and record the fresh final-pin run.

Review found no remaining blocking implementation, security, or performance issue. DirectEngine supplies a stable sequence ID, but the capability is global: returning false makes every honoring caller use a whole-prompt graph, which can require more transient memory for long prompts. Tests load synthetic weights through the model loader; no external-checkpoint inference claim is made.

Closes #2287

Disable chunked prefill because no-ID multi-token forwards reset model-owned recurrent and KV state while preserving stable-ID continuation.

Add a loaded six-layer regression for independent fallback reset and per-sequence continuation. The source passed independent review; focused CUDA validation is running under the orchestrator.

Refs #2287
@inureyes inureyes added status:review Under review type:bug Bug fixes, error corrections, or issue resolutions priority:medium Medium priority area:models Model architectures, weights, loading, metadata area:inference Generation, sampling, decoding (incl. speculative, DRY) labels Oct 13, 2026
Preserve the newly merged MLX pin and overlay baseline declarations before validating the model prefill correction against current main. The model-specific implementation and synthetic regression are unchanged.
Merge current main through the mlxcelverse migration and revalidate loaded recurrent and KV state on MLX 243bdf09. All 36 focused CUDA tests pass, including the six-layer request-state contract. CUDA Clippy with warnings denied, formatting, and diff checks pass.

Refs #2287
@inureyes
inureyes merged commit 5f33462 into main Oct 14, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:inference Generation, sampling, decoding (incl. speculative, DRY) area:models Model architectures, weights, loading, metadata priority:medium Medium priority status:review Under review type:bug Bug fixes, error corrections, or issue resolutions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(bailing_moe_linear): correct the no-ID chunked prefill contract

1 participant