{% extends "base.html" %} {% block title %}{{ experiment.name }} — Experiments — SimpleAudit{% endblock %} {% block content %}
{{ summary.total }} run setup{{ summary.total|pluralize }}{% if monitors %} · repeats {{ monitors.0.interval_display }}{% endif %} · compares {{ factor_labels|join:" × "|default:"—" }} · created {% if experiment.created_by %} by {{ experiment.created_by.username }}{% endif %}
{{ summary.done }}/{{ summary.total }} runs finished {% if summary.active %}· {{ summary.active }} running or queued{% endif %} {% if summary.failed %}· {{ summary.failed }} failed{% endif %}
{{ r.factor_values|join:" · "|default:r.name }}
{% if r.status == 'completed' %}{% if r.pass_rate is not None %}{{ r.pass_rate|floatformat:0 }}% pass{% else %}done{% endif %} {% elif r.status == 'failed' or r.status == 'cancelled' %}{{ r.status }} {% else %}{{ r.get_status_display|lower }}{% if r.total_scenarios %} · {{ r.completed_scenarios }}/{{ r.total_scenarios }}{% endif %}{% endif %}
{% empty %}No runs yet.{% if monitors %} The first runs start .{% endif %}
{% endfor %}Next run
| Setup | Pass rate over time | Latest | Actions |
|---|---|---|---|
| {{ m.name }} {% if not m.enabled %}paused{% endif %} {% if m.last_error %}⚠ last tick had a problem{% endif %} | {% if m.chart %} {% else %}waiting for results{% endif %} | {% if m.latest_point %}{% widthratio m.latest_point.k m.latest_point.n 100 %}%{% else %}—{% endif %} {% if m.drops %}{{ m.drops }} drop{{ m.drops|pluralize }}{% endif %} | {% if m.can_manage %} {% endif %} |
Red dots: a significant drop against that setup's previous runs. Open a row for its full drift chart.
| {{ row_label|default:"" }}{% if col_label %} ╲ {{ col_label }}{% endif %} | {% for c in pivot.cols %}{{ c }} | {% endfor %}
|---|---|
| {{ row.label }} | {% for cell in row.cells %}
{% if cell and cell.rate is not None %}
{{ cell.rate|floatformat:0 }}%
{{ cell.k }}/{{ cell.n }} trials{% if cell.runs|length > 1 %} · {{ cell.runs|length }} runs{% endif %}
{% elif cell %}
{% with r=cell.runs.0 %}{% if r.status == 'failed' %}failed{% else %}waiting…{% endif %}{% endwith %}
{% else %}—{% endif %}
|
{% endfor %}
Share of judged trials rated pass (each repetition counts). The bar shows the 95% interval: overlapping bars mean the difference may be noise. Errored trials are excluded.
| Run | {% for l in factor_labels %}{{ l }} | {% endfor %}Status | Pass rate |
|---|---|---|---|
| #{{ r.id }} {{ r.name }} | {% for v in r.factor_values %}{{ v }} | {% endfor %}{{ r.get_status_display }}{% if r.status != 'completed' and r.total_scenarios %} · {{ r.completed_scenarios }}/{{ r.total_scenarios }}{% endif %} | {% if r.pass_rate is not None %}{{ r.pass_rate|floatformat:0 }}%{% else %}—{% endif %} |