{% extends "base.html" %} {% block title %}{{ monitor.name }} — Monitors — SimpleAudit{% endblock %} {% block content %}
← Monitors

{{ monitor.name }} {% if not monitor.enabled %}paused{% endif %}

{{ monitor.target_model.display_name }} · {{ monitor.scenario_set.name }} {% if monitor.scenario_set_version %}v{{ monitor.scenario_set_version.version }} (pinned){% else %}(latest){% endif %} · auditor {{ monitor.auditor_model.display_name }} · judge {{ monitor.judge_model.display_name }} · {{ monitor.interval_display }}{% if monitor.enabled %} · next {% endif %}

{% if can_manage %}
{% csrf_token %}
{% csrf_token %}
{% csrf_token %}
{% else %}

Created by {{ monitor.created_by.username|default:"deleted user" }}. Only a workspace admin or the creator can change it.

{% endif %}
{% if monitor.last_error %}
Last tick: {{ monitor.last_error }}
{% endif %}

Pass rate over time

{% if drops %}{{ drops }} significant drop{{ drops|pluralize }}{% endif %}
{% if chart %}
{% for g in chart.grid %} {{ g.label }} {% endfor %} {% for d in chart.dots %} {% if d.p.version_changed %}{% endif %} #{{ d.p.run.id }} · {{ d.p.run.created_at|date:"M j, H:i" }} · {{ d.p.k }}/{{ d.p.n }} pass{% if d.p.change %} · significant {{ d.p.change }}{% endif %} {% endfor %}

Shaded band: 95% Wilson interval (each repetition counts as a trial). Red/green dots: two-proportion z-test against the pooled previous {{ baseline_window }} completed runs, |z| ≥ 1.96. Dashed line: scenario set version changed (baseline resets). Errored trials are excluded.

{% else %}

No judged results yet. The chart appears after the first run completes.

{% endif %}

Runs

{% if points %}
{% for p in points %} {% endfor %}
Run Started Status Pass rate 95% CI Trials vs baseline
#{{ p.run.id }} v{{ p.version }} {{ p.run.status }} {% if p.rate is not None %}{% widthratio p.k p.n 100 %}%{% else %}—{% endif %} {% if p.lo is not None %}{{ p.lo|floatformat:2 }}–{{ p.hi|floatformat:2 }}{% else %}—{% endif %} {{ p.n }}{% if p.errors %} +{{ p.errors }} err{% endif %} {% if p.change == "drop" %}▼ drop (z={{ p.z|floatformat:2 }}) {% elif p.change == "rise" %}▲ rise (z={{ p.z|floatformat:2 }}) {% elif p.z is not None %}no change (z={{ p.z|floatformat:2 }}) {% else %}—{% endif %} {% if p.prev_run_id %}Compare ←{% endif %}
{% else %}

No runs yet.

{% endif %}
{% endblock %}