Progress
{% for phase in phases %}
{% if phase.status == 'completed' %}
✓
{% elif phase.status == 'running' %}
●
{% elif phase.status == 'failed' %}
✗
{% else %}
○
{% endif %}
{{ phase.label }}
{% if phase.status == 'running' and current_total > 0 %}
{% elif phase.status == 'running' %}
{% endif %}
{% if phase.duration %}{% if phase.duration >= 60 %}{{ (phase.duration // 60) | int }}m{{ "%02d" | format((phase.duration % 60) | int) }}s{% else %}{{ "%.1f" | format(phase.duration) }}s{% endif %}{% endif %}
{{ phase.detail or '' }}
{% if phase.cost %}~${{ "%.3f" | format(phase.cost) }}{% endif %}
{% endfor %}
{% if current_step %}
{{ current_step }}
{% if current_total > 0 %}
{{ current_progress }}/{{ current_total }}
{% endif %}
{% endif %}
{% if run_error %}
{% endif %}
{% set ns = namespace(total_cost=0) %}
{% for phase in phases %}
{% if phase.cost %}{% set ns.total_cost = ns.total_cost + phase.cost %}{% endif %}
{% endfor %}
{% if ns.total_cost > 0 %}
Cumulative cost: ~${{ "%.3f" | format(ns.total_cost) }}
{% endif %}
{% if polling %}
Elapsed time:
{% elif elapsed %}
Total duration: {% if elapsed >= 60 %}{{ (elapsed // 60) | int }}m{{ "%02d" | format((elapsed % 60) | int) }}s{% else %}{{ "%.0f" | format(elapsed) }}s{% endif %}
{% endif %}