The lookup as a bare function — plug into causalChain(..., { controlDeps }).
Reset all state (also happens automatically on runId change).
The attempt-stop decision of a stage execution whose retry series stopped, if it did.
All decisions recorded for the current run, in event order — deciders, selectors and attempt stops.
Resolve the NEAREST governing decision for an execution step: walks the
runtime ancestor chain (the step itself first) until it hits a
registered branch entry. undefined when the step is not downstream of
any recorded decision.
Called at the end of EVERY attempt — a stage's own, and the calls and
observed attempts it makes during the stage (filter on record.kind) —
with its record and the decision that followed (10.1). See
FlowAttemptEvent.
A branch that throws never fires onStageExecuted — without this hook
its pending slot would leak and the post-fan-out convergence stage
(whose context also chains to the selector) would be misattributed as
a branch entry under best-effort (failFast: false) fan-outs.
Called once per top-level executor.run() BEFORE traversal begins.
Carries event.payload = run({input}). Subflow-traversers don't fire it.
Current-run control evidence for the native snapshot. Project only the stage identities collected during traversal; never walk the execution tree. Parentless roots cannot have a governing control edge.
Stateful accumulator that watches FlowRecorder events and answers "which decision allowed this stage to run?" Attach via
executor.attachCombinedRecorder(recorder)(orattachFlowRecorder).