OptionaltraversalContext: TraversalContextRun the decider stage and resolve the chosen branch WITHOUT executing it.
Everything up to (and including) the onDecision/onStageExecuted
narrative and the branch context creation happens here — only the
branch execution itself is left to the caller.
OptionaltraversalContext: TraversalContext
Handle a scope-based decider (created via addDeciderFunction). The stage function IS the decider — its return value is the branch ID. Execution order: runStage(fn) → commit → resolve child → log → executeNode(child).