Step boundary for the progress strip: PhaseEnum.NONE while the step is still in Runner.pending; PhaseEnum.COMPLETED_DONE after List.move_step_to_completed (per-task row state remains on each Details#status).
Runner.pending
Details#status