{% 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 %}