From 6a0ccbeb60e5fed17ae99e44468fcde2e33073fb Mon Sep 17 00:00:00 2001 From: aszc-dev Date: Mon, 25 May 2026 17:47:02 +0200 Subject: [PATCH] fix(phase6): make quantize_nbits optional so pre-Phase-6 workflows validate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit quantize_nbits was added to the Core ML Converter node's required INPUT_TYPES, so ComfyUI's /prompt validation rejected (HTTP 400) any workflow saved before Phase 6 — the field is absent from those prompts. The Tier 2 golden-image test caught this. Move it to optional: omitted inputs fall back to the convert() default of "none", so old workflows validate and behave identically while new users can still opt in. Restores the Gate 6 'existing workflows unaffected' guarantee. --- coreml_suite/nodes.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/coreml_suite/nodes.py b/coreml_suite/nodes.py index 776a346..96f1d78 100644 --- a/coreml_suite/nodes.py +++ b/coreml_suite/nodes.py @@ -247,12 +247,15 @@ class CoreMLConverter(COREML_NODE): ], ), "controlnet_support": ("BOOLEAN", {"default": False}), - # Phase 6: k-means weight palettization. "none" keeps the - # pre-Phase-6 behavior and filename, so existing cached - # .mlpackages still resolve. - "quantize_nbits": (list(QUANT_NBITS_VALUES), {"default": "none"}), }, "optional": { + # Phase 6: k-means weight palettization. Kept optional so + # workflows saved before Phase 6 still validate — ComfyUI + # rejects a prompt that omits any `required` input. When + # omitted it defaults to "none", identical to pre-Phase-6 + # behavior and filename, so existing cached .mlpackages + # still resolve. + "quantize_nbits": (list(QUANT_NBITS_VALUES), {"default": "none"}), "lora_params": ("LORA_PARAMS",), }, }