Run a step's drive actions strictly in order, awaiting each fully before
starting the next so the following action (and the step's own selector) sees the
world state the prior action produced — an activated scene, a started combat, a
set target. An executor that rejects halts the sequence and propagates, so
the remaining actions never run against a half-built state; the tour's own
seeded-RNG teardown still fires because the error unwinds through SohlTour's
exit path.
This is the unit-tested seam: given a recording executor it proves ordering,
sequential awaiting, and error propagation without any Foundry.
Run a step's drive actions strictly in order, awaiting each fully before starting the next so the following action (and the step's own selector) sees the world state the prior action produced — an activated scene, a started combat, a set target. An executor that rejects halts the sequence and propagates, so the remaining actions never run against a half-built state; the tour's own seeded-RNG teardown still fires because the error unwinds through
SohlTour's exit path.This is the unit-tested seam: given a recording executor it proves ordering, sequential awaiting, and error propagation without any Foundry.