Skip to main content

check-models

Audit SD.Next model integrations end-to-end: loaders, detect/routing, reference catalogs, and pipeline API contracts.

Quellinformationen

Repository
vladmandic/sdnext
Letzte Quellaktivität
1. Juli 2026 um 09:08
Erkannte Sprache von SKILL.md
Englisch
Sterne
7.351
Forks
584

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
check-models
description
Audit SD.Next model integrations end-to-end: loaders, detect/routing, reference catalogs, and pipeline API contracts.
argument-hint
Optionally focus on a specific model family, repo id, or one or more audit categories: loader, detect-routing, references, pipeline-contracts
# Check Model Integrations End-To-End Run a consolidated model-integration audit that combines loader checks, detect/routing checks, reference-catalog checks, and pipeline contract checks. ## When To Use - A new model family was added and needs a completeness audit - Existing model support appears inconsistent across detection, loading, and UI references - A custom pipeline was ported and needs contract validation - You want a pre-PR integration quality gate for model-related changes ## Guidance - Consult `.github/instructions/core.instructions.md` for relevant core runtime and model integration guidance before proceeding. ## Combined Scope This skill combines four audit surfaces. Run them in this order unless user scope limits categories: 1. Loader consistency (`check-loaders` equivalent) 2. Detect/routing parity (`check-detect-routing` equivalent) 3. Reference-catalog integrity (`check-reference-catalog` equivalent) 4. Pipeline API contract conformance (`check-pipeline-contracts` equivalent) ## Primary Files - `pipelines/model_*.py` - `modules/sd_detect.py` - `modules/sd_models.py` - `modules/modeldata.py` - `data/reference-base.json` - `data/reference-cloud.json` - `data/reference-quantized.json` - `data/reference-distilled.json` - `data/reference-nunchaku.json` - `data/reference-community.json` - `models/Reference/` Pipeline files as needed: - `pipelines/<model>/pipeline.py` - `pipelines/<model>/model.py` ## Audit A: Loader Consistency For each target model loader in `pipelines/model_*.py`, verify: - Correct `sd_models.path_to_repo(checkpoint_info)` and `sd_models.hf_auth_check(...)` usage - Load args built with `model_quant.get_dit_args(...)` where applicable - No duplicated kwargs (for example duplicate `torch_dtype`) - Correct component loading path (`generic.load_transformer`, `generic.load_text_encoder`, tokenizer/processor) - Proper post-load hooks (`sd_hijack_te`, `sd_hijack_vae`) where required - Correct `pipe.task_args` defaults where needed - Cleanup and `devices.torch_gc(...)` present Flag stale patterns, missing hooks, or conflicting load behavior. ## Audit B: Detect/Routing Parity Verify model family alignment across: - `modules/sd_detect.py` detection heuristics - `modules/sd_models.py` load dispatch branch - `modules/modeldata.py` reverse classification from loaded pipeline class Checks: - Family is detectable by name/repo conventions - Dispatch routes to the intended loader - Loaded pipeline class is classified back to the same model family - Branch ordering does not cause broad matches to shadow specific families ## Audit C: Reference Catalog Integrity Verify references for model families intended to appear in model references. Checks: - Correct category file placement by type: - base -> `data/reference-base.json` - cloud -> `data/reference-cloud.json` - quant -> `data/reference-quantized.json` - distilled -> `data/reference-distilled.json` - nunchaku -> `data/reference-nunchaku.json` - community -> `data/reference-community.json` - Required fields present per entry (`path`, `preview`, `desc` when expected) - Duplicate repo/path collisions across reference files are intentional or flagged - Preview filename convention is consistent - Referenced preview file exists in `models/Reference/` (or explicitly placeholder if intentional) - JSON validity for touched reference files ## Audit D: Pipeline API Contracts For custom pipelines (`pipelines/<model>/pipeline.py`), verify: - Inherits from `diffusers.DiffusionPipeline` - Registers modules correctly - `from_pretrained` wiring is coherent with actual artifact layout - `encode_prompt` semantics are consistent with tokenizer/text encoder setup - `__call__` supports expected public args for its task and does not expose unsupported generic args - Batch and negative prompt behavior are coherent - Output conversion aligns with model output domain (latent vs pixel space) - `output_type` and `return_dict` behavior are consistent ## Runtime Validation (Preferred) When feasible: - Import-level smoke tests for loaders and pipeline modules - Lightweight loader construction checks without full heavy generation where possible - One minimal generation/sampling pass for changed model families If runtime checks are not feasible, report limitations clearly. ## Reporting Format Return findings by severity: 1. Blocking integration failures 2. Contract mismatches (load/detect/reference/pipeline) 3. Consistency and quality issues 4. Optional improvements For each finding include: - model family - layer (`loader`, `detect-routing`, `reference`, `pipeline-contract`) - file location - mismatch summary - minimal fix Also include summary counts: - loaders checked - model families checked for detect/routing parity - reference files checked - pipeline contracts checked - runtime checks executed vs skipped ## Pass Criteria A full pass requires all of the following in audited scope: - loader path is coherent and non-conflicting - detect/routing/modeldata parity holds - reference entries are valid, categorized correctly, and have preview files - custom pipeline contracts are consistent with actual model behavior If any area is intentionally out of scope, mark as partial pass with explicit exclusions.
Auf GitHub ansehen