Description:
Introduce a new Manual Switch node that behaves like a rail lever — allowing the user to manually choose the output path (A, B, C, etc.) at execution time, regardless of input conditions.
Goal / Motivation:
While the existing Switch node allows for dynamic routing based on data, sometimes during development and testing, we want to manually control which branch the flow takes — without altering logic or data.
This node would preserve the incoming data but simply reroute it based on a manually toggled setting in the UI, ideal for quickly testing downstream paths.
Use Case Example:
-
I’m testing a complex flow with 3 paths (A, B, C).
-
Instead of injecting specific data to force a Switch condition, I just select “Path B” from a dropdown in the node before executing.
-
The rest of the input remains untouched — only the execution path changes.
Suggested Implementation:
-
New node:
ManualSwitch
(or a mode inside the existingSwitch
node). -
UI control: dropdown selector (A, B, C…) visible in the node config.
-
On execution, input data flows unchanged to the selected output.
Benefit:
-
Streamlines testing by avoiding logic changes or temporary hacks.
-
Encourages cleaner flows by decoupling logic from testing utilities.
-
Makes it easier to debug sub-flows without re-triggering full executions.
Optional Enhancements:
-
Allow dynamic switch (via parameter or env var) for use in CI or multi-branch tests.
-
Visual indicator of the current path selected on canvas.