vidfom's picture
Upload folder using huggingface_hub (part 8)
0c85e62 verified
|
Raw
History Blame Contribute Delete
2.56 kB
# Workflow regression fixtures
Pinned ComfyUI workflow JSONs that exercise Koolook nodes. Used by the
pre-flight script (TBD β€” see `tools/preflight_release.py`) to verify
that every Koolook node ID referenced in any of these workflows still
exists in the current `NODE_CLASS_MAPPINGS` (or has a back-compat alias).
The pre-flight test only checks **Koolook-pack node IDs**. Other-pack
node IDs (DepthAnything, rgthree, etc.) are silently ignored β€” those
packs may or may not be installed on a given machine, and tracking
their stability isn't our job.
## How to add a new fixture
1. In ComfyUI, build a workflow that exercises one or more Koolook nodes.
2. Click **Save** to export the workflow JSON.
3. Name the file descriptively: `<feature>-<short-tag>-v<NN>.json`
(e.g. `vae-roundtrip-srgb-v01.json`).
4. Drop it in this folder.
5. Add a one-line entry to the inventory table below.
6. **Sanity-check before committing:**
- No Windows-style absolute paths (`C:\…`, `D:\…`).
- No huge base64 blobs (embedded preview thumbnails) β€” strip them in
ComfyUI's save dialog if present.
- No tokens / credentials / personal info in any node parameter.
- File size under ~50 KB ideally; certainly under 500 KB.
The pre-flight script picks the file up automatically β€” no need to
register it anywhere else.
## Fixture inventory
| File | Koolook nodes referenced | Notes |
|---|---|---|
| [`Depth-Anything3-v01.json`](Depth-Anything3-v01.json) | `EasyAIPipeline` | Depth-Anything v3 workflow with Koolook pipeline node + EXR I/O |
| [`Hires-FIX-wanT2V-v01.json`](Hires-FIX-wanT2V-v01.json) | `EasyAIPipeline` | Hires-fix variant for Wan T2V workflows |
## What the pre-flight script does (for reference)
For each `*.json` in this folder:
1. Parse the JSON.
2. Walk the `nodes` array (ComfyUI canvas format) β€” for each node, read its `type` field.
3. Filter: keep only types that look like Koolook node IDs (heuristics: starts with `Easy`, `Koolook`, contains `_koolook_`, etc. β€” full pattern lives in the script).
4. For each Koolook ID, verify it appears in the current `NODE_CLASS_MAPPINGS` (computed by importing the package).
5. **Fail** the pre-flight if any referenced ID is missing β€” that's a breaking change to a saved workflow that needs either a back-compat alias or an explicit major version bump.
If the JSON is in API format (different shape, often produced by `ComfyUI` API export), the script also handles that: walk the top-level dict where each key is a node instance and each value has `class_type`.