{% extends "base.html" %} {% block content %}

Pipeline Monitor

{% if current_run_id %} current run #{{ current_run_id }} {% if current_run %} · {{ current_run.stage or '—' }} · {{ current_run.status }}{% endif %} {% else %} idle {% endif %}
{% if locked %}running{% else %}idle{% endif %}

Stage progress

{% for s in stage_order %} {% set st = stage_states[s] %} {% if st == 'ok' %} {% set border_cls = 'border-emerald-500 bg-emerald-50' %} {% set state_cls = 'text-emerald-700' %} {% set label = 'ok' %} {% elif st == 'running' %} {% set border_cls = 'border-amber-500 bg-amber-50' %} {% set state_cls = 'text-amber-700' %} {% set label = 'running' %} {% elif st == 'fail' %} {% set border_cls = 'border-rose-500 bg-rose-50' %} {% set state_cls = 'text-rose-700' %} {% set label = 'fail' %} {% else %} {% set border_cls = 'border-slate-200' %} {% set state_cls = 'text-slate-400' %} {% set label = '—' %} {% endif %}
{{ s }}
{{ label }}
{% endfor %}

Live log

connecting…
{% for l in logs %}
{{ l.ts }} [{{ l.level }}] {% if l.stage %}{{ l.stage }}{% endif %} {{ l.message }}
{% else %}
(no logs yet — waiting for events…)
{% endfor %}
{% endblock %}