{# v3-style phase timeline: phase steps + connector fragments. This partial outputs only the inner content — the OOB wrappers in task_phase_view.html / pipeline_oob.html provide the outer container. #} {% set phase_idx = phases.index(task.current_phase) if task.current_phase in phases else -1 %} {% set display_idx = phase_idx %} {% set is_done = task.status == 'done' %} {% for p in phases %} {% set is_past = loop.index0 < display_idx or is_done %} {% set is_current = (loop.index0 == display_idx) and not is_done %} {% set status_text = 'done' if is_past else (task.status if is_current else 'pending') %}