A model-only LoRA loader was used for every UNet workflow, so a LoRA with text-encoder
weights lost them; and inserting after a checkpoint whose CLIP feeds both prompts was
refused (one link per output only).
- api/mcp_actions.py reads the LoRA's safetensors header: lora_te / te1 / te2 /
text_encoder keys mean it trains the text encoder.
- Such a LoRA becomes a LoraLoader taking MODEL from the model line's end and CLIP from
the same node (checkpoint, full LoRA loader) or a UNet workflow's one CLIP source;
others stay model-only.
- graph_splice.js: spliceAfterOutputs puts a node after outputs on different nodes and
moves every link each output had. The picker's spliceModelChainNode is back to its
committed behavior (the `types` option is gone).
Verified on 8199: UNet + CLIP loader with a text-encoder LoRA, a model-only one after it
and another text-encoder one; a checkpoint feeding two prompts; Ctrl+Z after each.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>