Getting a recipe from the interactive node into the save node meant copying the rules JSON
between two text widgets, which is a bad way to move state and easy to get wrong.
Two paths now. BFS LoRA Surgery gained a `rules` output that can be wired straight into the
save node's `rules` input, so the file is produced as part of the run. And the panel has a
"save as file" button with an optional name, which posts to a new /bfs/lora/save route and
reports the result inline, for when you are still exploring and do not want a second node in
the graph.
Both go through one write_surgery function, so the two paths cannot drift apart. That
function is the old node body lifted out, not a copy.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>