What a state is doing right now, not merely which step it last started.
index/kind/target alone are ambiguous at a boundary: they still name
the last step for the whole of its settle delay and for everything that
happens after the script returns, so a budget that expired there would be
reported against a step that had already succeeded. phase is what makes
the reading honest.
Type Declaration
"navigate"
Loading the page, before any step.
"precondition"
Probing the state's precondition on the fresh load.
"step"
Inside the step named by index.
"settle"
The step named by index succeeded; serving its settleMs.
What a state is doing right now, not merely which step it last started.
index/kind/targetalone are ambiguous at a boundary: they still name the last step for the whole of its settle delay and for everything that happens after the script returns, so a budget that expired there would be reported against a step that had already succeeded.phaseis what makes the reading honest.