Skip to content

step-not-in-order

[wizzard] step "<id>" is not in order. next() and back() walk order, so the step is reachable only
through a transition or go(). Add it to order, or lead to it from another step's on.next.
…/errors/step-not-in-order

Returned by validateFlow as a problem with path: steps.<id>, once per step, and listed in the message of flow-invalid by assertFlow.

It is not reported for a flow without order.

order is the linear path next() and back() walk. A step outside it is never visited by that walk; the only ways in are a transition on another step that names it and go(). That is sometimes the intent - a branch one step leads to - and more often a step that was added to steps and forgotten in order.

If the step belongs on the main path, add it to order where it goes:

{ "order": ["account", "profile", "review"] }

If it is a branch, check that some step’s on.next leads to it, and give the branch its own way out: from a step outside order, next() without an on.next finishes the wizard, and back() without an on.back has nowhere to go and answers no-target. A flow built that way on purpose can leave the report as a note of how the step is reached.