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

Run Pipeline

{% if run_name %}

{{ run_name }} — {{ done }}/{{ total }} nodes complete

{% else %}

No runs started yet

{% endif %}
{% if awaiting_gates %} {{ awaiting_gates }} gate(s) awaiting approval {% endif %}
{% if not run_name %}
Get started — no pipeline run exists yet.
  1. Go to Upload to add your data file.
  2. Go to Configure to set your target column and save the pipeline.
  3. Click Run Pipeline below to start.
{% endif %}
{# ── Left: Run control ── #}
Pipeline Control
{% if total > 0 %}
Progress
{{ done }} / {{ total }} nodes — {{ ((done / total) * 100) | int }}%
{% endif %}
{# ── Gate action card ── #} {% for node in nodes if node.state == 'awaiting_human' %}
⏰ Gate: {{ node.id }}
{{ node.message or 'Review before continuing.' }}
{% endfor %}
{# ── Right: Node list ── #}
Nodes
{% include "pipeline_nodes.html" %}
{# ── Legend ── #}
Status:  pending  running  done  gate  failed  skipped
{% endblock %}