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

Runs

every run is a self-contained provenance bundle; rerun = same profiles, fresh files
{% if done | length >= 2 %} or compare two finished runs below {% endif %}
{% if not runs %}
No runs yet. A run takes your raw exports (stock, master, norms, velocity), maps them once per category, reviews the input sanity, prices your levers, and produces the checked movement workbook. Start with New run; try the bundled synthetic category via restitch demo if you just want to see one.
{% else %} {% for r in runs %}
{{ r.id }} {{ r.state }} {% if r.created %}{{ r.created[:10] }} · {% endif %} {% if r.preset %}{{ r.preset }} · {% endif %} {% if r.metrics %} {{ "{:,.0f}".format(r.metrics.units) }} u · {{ "{:,}".format(r.metrics.lines) }} lines · cut {{ "%.1f%%" | format(r.metrics.cut_pct.before * 100) }} → {{ "%.1f%%" | format(r.metrics.cut_pct.full * 100) }} · {{ r.metrics.categories | join(" + ") }} {% if r.metrics.geo and r.metrics.geo.mode != "pan" %} · geo: {{ r.metrics.geo.mode }}{% endif %} {% if r.headline and r.headline.checks %} · {{ r.headline.checks }}{% endif %} {% elif r.state == "failed" %}{{ r.error }} {% elif r.headline %}{{ r.headline.checks }} {% else %}mid-flow — never executed{% endif %} {% if r.state in ("files", "sanity", "configure", "review") %}
{% endif %} {% if r.state == "done" %}workbook{% endif %} {% if r.state in ("done", "failed") %}
{% endif %} {% if r.state == "done" %}
{% endif %}
{% endfor %} {% endif %} {% if done | length >= 2 %}

Compare

vs
{% endif %} {% endblock %}