بنقرة واحدة
check-schedulers
// Audit scheduler registrations starting from modules/sd_samplers_diffusers.py and verify class loadability, config validity against scheduler capabilities, and SamplerData correctness.
// Audit scheduler registrations starting from modules/sd_samplers_diffusers.py and verify class loadability, config validity against scheduler capabilities, and SamplerData correctness.
Port custom model pipeline implementations to Diffusers. Use when migrating custom or non-Diffusers pipeline code into SD.Next repo-local pipeline files such as pipelines/model_<name>.py or pipelines/<model>/pipeline.py while preserving behavior, avoiding new dependencies, and keeping device/attention handling configurable.
Port or add a model to SD.Next using existing Diffusers and custom pipeline patterns. Use when implementing a new model loader, custom pipeline, checkpoint conversion path, or SD.Next model-type integration.
Update wiki markdown docs for syntax correctness, readability, link integrity, heading hierarchy normalization, and code block language tagging. Use when a user asks to clean up markdown formatting and improve clarity while preserving technical meaning.
Maintain and validate SD.Next model reference catalogs in data/reference*.json, including schema consistency, deduplication, link checks, and thumbnail alignment.
Create or edit code that is compliant with Hugging Face diffusers conventions, including models, pipelines, schedulers, tests, docs, and PR preparation targeting diffusers.
Analyze an external model URL (typically Hugging Face) to determine implementation style and estimate SD.Next porting difficulty using the port-model workflow.
| name | check-schedulers |
| description | Audit scheduler registrations starting from modules/sd_samplers_diffusers.py and verify class loadability, config validity against scheduler capabilities, and SamplerData correctness. |
| argument-hint | Optionally focus on a scheduler subset, such as flow-matching, res4lyf, or parallel schedulers |
Use modules/sd_samplers_diffusers.py as the starting point and verify that scheduler classes, scheduler config, and SamplerData mappings are coherent and executable.
The audit must explicitly verify all three:
__init__.SamplerData entries and mapping correctness.Primary file:
modules/sd_samplers_diffusers.pyRelated files:
modules/sd_samplers_common.py for SamplerData definition and sampler expectationsmodules/sd_samplers.py for sampler selection flow and runtime wiringmodules/schedulers/**/*.py for custom scheduler implementationsmodules/res4lyf/**/*.py for Res4Lyf scheduler classes (if installed/enabled)Treat this as a two-level check:
SamplerData(... DiffusionSampler(..., SchedulerClass, ...)) resolves without missing symbol errors.Notes:
torch.nn.Module schedulers, "compiled" means the scheduler integration path is executable in runtime checks (not necessarily torch.compile).modules/sd_samplers_diffusers.py.samplers_data_diffusers.config.Create a joined table by sampler name with:
For each mapped scheduler class:
Flag missing imports, dead entries, or stale class names.
For each sampler config entry:
__init__ signature and accepted config fieldsSpecial attention:
For each SamplerData entry:
DiffusionSampler with the expected scheduler classFlag mismatches such as wrong display name, wrong class wired to name, or stale aliasing.
If feasible, run lightweight checks:
set_timesteps and a dummy step where possible)If runtime checks are not feasible for some schedulers, mark those explicitly as unverified-at-runtime.
Where scheduler runtime path supports compile-related checks in SD.Next:
Do not mark compile as passed if only static checks were done.
Return findings ordered by severity:
SamplerData mapping inconsistenciesFor each finding include:
Also include summary counts:
SamplerData entries checkedThe check passes only if all are true:
SamplerData entry is correctly mapped and usableIf scope is partial due to environment limitations, report pass with explicit limitations, not a full pass.