The
decision node returns these under data, together with the question, the options and the provider id. A UI can render that trace.
The none_of_these convention
Everychoice decision has the option none_of_these appended. When you set minConfidence and the provider reports lower confidence, the node sets data.choice to none_of_these and data.gated to true. Branch on it to reject off-topic input or ask a follow-up question.
Fan-out
Decisions in the same level run concurrently. If the provider implements the optionaldecideMany capability, the engine sends the decisions issued in the same tick as one request. Otherwise it runs parallel decide calls. The Jev adapter batches decisions that share the same state into one API call.
Dynamic options
options can be a template that resolves to a list from the run input, so one flow serves any setup:
Switching backends
Thedecision node names a provider by id. The engine checks that the provider can decide when it loads the flow. Moving a decision from an LLM to a trained classifier is a config change. See providers.