core_overrides are saved per core ID, not per node class, so switching model
family leaves the replaced node's input names sitting on its successor:
audiodec.audio_vae (LTXVAudioVAEDecode) survives onto VAEDecodeAudio, whose VAE
input is called `vae`. The Models panel lists the NEW node's inputs, so the
leftover is invisible there — it only surfaces when ComfyUI is handed a kwarg
the node never declared and the run dies inside it:
VAEDecodeAudio.execute() got an unexpected keyword argument 'audio_vae'
Guided wiring filtered these out as a side effect of its open-port check; full
control applied them.
The builder now refuses to write an input the node's class does not declare and
says so in the report (a leftover is not a reason to refuse the whole run), and
the family switch prunes overrides the new core has no input for, so it stops
being carried in the saved project. A valid override is untouched by both.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>