The first-run auto-download showed huggingface_hub's 'Fetching N files' bar,
which counts files not bytes -> it sits at ~5% (1/19) for many minutes while a
14GB shard streams, looking hung. Replace it with an aggregating tqdm that sums
all byte-unit bars into one global ProgressBar + a throttled console line
(12.3% 4.95/40.30GB 47.2MB/s ETA 12.6min), ignoring the file-count bar.
Also default HF_HUB_DISABLE_XET=1: the xet transport can stall on Windows
portable; plain HTTPS/LFS is slower but reliable and resumable. Overridable via
HF_HUB_DISABLE_XET=0. Space check now uses the repo's real total bytes. v0.3.4.
Serializados desde ComfyUI real (loadApiJson -> graph.serialize). ModelLoader ahora
termina en [..., model_dir, blocks_to_swap=0], el orden correcto tras el fix de
widget-order. Quedan limpios y con blocks_to_swap explícito.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
blocks_to_swap se había insertado ANTES de model_dir en el bloque optional, pero los
workflows ui/*.json (0.2.0) terminaban en model_dir. ComfyUI mapea widgets_values por
ORDEN -> el model_dir guardado caía en el slot INT de blocks_to_swap ("invalid literal
for int()"). Movido blocks_to_swap al final: los workflows viejos mapean bien y cae a
su default. Disciplina append-only documentada (nunca insertar widgets en medio).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
modal/ (validación en GPU serverless) no es parte del nodo de ComfyUI: se quita del
repo entero. Eliminadas todas las menciones a Modal en README (sección "Validate on
Modal" + referencias), model.py, .gitignore, tools/ y tests/. El repo queda con el
runtime funcional: bernini/, nodes.py, workflows/, tools/, tests/ y el CI de publish.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
El harness modal/app.py (subprocess, urllib, snapshot_download, "pip install") no
es runtime del nodo pero viajaba en el zip y disparaba el scanner del registry
(versiones previas quedaron Flagged; nodos sanos están todos Active). Lo dejamos
fuera del paquete publicado vía .comfyignore (sintaxis gitignore).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tabla con picos reales (A10 fp8): i2i 14.84->5.08GB, t2v 81f 19.18->9.42GB,
penalti +14%/+4%. Nota de correctitud (gate bit-idéntico), techo UMT5 ~10.8GB,
demostración T4 (bs0 OOM / bs40 6.28GB -> cabe en 12GB) y caveat flash-attn.
Regla: 0 si ≥24GB, 20 para ~16GB, 30-40 para 12GB.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>