[refactor] Simplify Wan sampling and tests - #1825
Open
SolitaryThinker wants to merge 3 commits into
Open
Conversation
Contributor
Merge Protections🔴 1 of 1 protections blocking · waiting on 👀 reviews and 🤖 CI
🔴 PR merge requirementsWaiting for
This rule is failing.
|
SolitaryThinker
force-pushed
the
refactor/wan-cleanup
branch
from
September 6, 2026 03:27
deb00ba to
275cf42
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Keep Wan sampling code with the Wan pipelines. Make the first numerical check small and cheap. Continue #1823 and #1824 in one larger PR.
Changes
fastvideo/models/wan/. Keep aliases at the old paths and update internal imports.fastvideo/pipelines/basic/wan/stages/.bash scripts/validate_wan.sh alland update contributor guidance.Shared T5/UMT5 and CLIP stay shared. No model is removed. No training pipeline is migrated. Checkpoint keys and model math stay the same.
Test evidence
Current head:
275cf421beedf2fb538cd6dbe13a4714d6a49202.7f8316423355a2f07db533a5a339ac16e0da31ffin two separate processes. The candidate then matched both. The causal gate asserts the actual FlashAttention backend.The first full golden canary caught a test-order bug: the loader left a BF16 compute policy behind and changed the next block test's attention backend. The tensor-golden context now clears and restores that state. Four tests cover absent/existing state and normal/error exits. Canary 5081 verified the fix in the full test order, without changing references or tolerances.
CI blockers outside this diff
test_nvfp4_minimax_h3_wiring.pyfailures match the recorded NVFP4 module-reload identity bug from [feat] add MXFP8 support on H3 #1796. The affected tests and implementation are unchanged here.These need separate repairs. No unrelated H3 changes or weaker tolerances are included. macOS MLX and DreamVerse checks are still running.
Validation limits
This evidence is from GB200, not L40S. The 50-step tests use tiny fake denoisers and the real scheduler; they are not full video renders. No new default/full-quality SSIM render is claimed. Independent component parity and SSIM coverage remain.
First-frame VAE time now has its own stage timing instead of being counted inside DiT time. Total request latency still includes it. No performance baseline was reseeded.
The six Fastcheck lanes and all twenty full-suite lanes remain. Direct reruns keep their existing meaning when the conditional golden step is skipped. The private uploader accepts the old or complete golden-first graph during rollout, and rejects partial or allow-failure dependency changes.