{% extends "base.html" %} {% block title %}{{ e.id }} · {{ e.title }}{% endblock %} {% block content %}

{{ e.title }}

{{ e.description }}

{{ e.kind.replace('_', ' ') }} {{ e.status }} {% if e.verdict %}{{ e.verdict }}{% endif %} {% if e.verdict_state != 'current' %}{{ e.verdict_state }}{% endif %} {% if e.owner %}{{ e.owner }}{% endif %} {% if e.tracker %}{{ e.tracker }}{% endif %} {% for t in e.tags %}{{ t }}{% endfor %}
{% if e.verdict_state == 'invalidated' %} {% elif e.verdict_state == 'superseded' %} {% endif %} {% if e.status in ('blocked', 'abandoned') and e.status_reason %} {% endif %} {% if e.hypothesis %}
Hypothesis
{{ e.hypothesis }}
{% if e.verdict_scope %}

Holds under: {{ e.verdict_scope }}

{% endif %} {% if e.verdict_basis %}

Basis: {{ e.verdict_basis }}

{% endif %}
{% elif e.kind == 'baseline' %}
Baseline

A baseline measures rather than asserts, so it carries no hypothesis and no verdict. Its job is to give everything after it a number to beat.

{% endif %} {% if e.metrics %}

Metrics

{% for m in e.metrics %} {% endfor %}
MetricValueBaseline DeltaDirectionnCIstd
{{ m.name }}{% if e.primary and m.name == e.primary.name %} primary{% endif %} {{ m.value | num }}{% if m.unit %} {{ m.unit }}{% endif %} {{ m.baseline_value | num }} {% if m.delta is not none %} {{ m.delta | delta }} {% else %}—{% endif %} {{ m.direction.replace('_', ' ') }} {{ m.n | num }} {% if m.ci %}[{{ m.ci[0] | num }}, {{ m.ci[1] | num }}]{% else %}—{% endif %} {{ m.std | num }}
{% endif %}

Provenance

Baseline
{% if links.baseline %}{{ links.baseline.label }} {% else %}none — {{ e.baseline_reason }}{% endif %}
{% if datasets %}
Datasets
{% for d in datasets %} {% if d.resolved %}{{ d.label }}{% else %}{{ d.label }}{% endif %} {{ d.version }} · {{ d.role }}{% if d.status and d.status != 'stable' %} · {{ d.status }}{% endif %}{% if not loop.last %}
{% endif %} {% endfor %}
{% endif %} {% if e.models %}
Models
{% for m in e.models %} {{ m.provider }}/{{ m.id }} snapshot {{ m.snapshot }}{% if m.params %} · {{ m.params }}{% endif %}{% if not loop.last %}
{% endif %} {% endfor %}
{% endif %}
Ran
{{ e.run_date or '—' }} {% if e.runtime_s is not none %}· {{ e.runtime_s }}s{% endif %} {% if e.cost_usd is not none %}· ${{ e.cost_usd }}{% endif %} {% if e.nondeterministic %}nondeterministic{% if e.repeats %}, {{ e.repeats }} repeats{% endif %}{% endif %}
{% if e.code %}
Code
{{ e.code.get('commit', '—') }} {% if e.code.get('entrypoint') %}· {{ e.code.entrypoint }}{% endif %} {% if e.code.get('shared_ref') %}· shared {{ e.code.shared_ref }}{% endif %} {% if e.code.get('dirty') %}dirty tree{% endif %}
{% endif %} {% if e.env %}
Environment
{% for k, v in e.env.items() %}{{ k }}: {{ v }}{% if not loop.last %} · {% endif %}{% endfor %}
{% endif %} {% if links.retests %}
Retests
{{ links.retests.label }} {{ e.get('retest_reason', '') }}
{% endif %} {% if links.supersedes %}
Supersedes
{{ links.supersedes.label }}
{% endif %} {% if also_informs %}
Also informs
{% for a in also_informs %}{{ a.label }}{% if not loop.last %}, {% endif %}{% endfor %}
{% endif %}
{% if body %}
{{ body }}
{% endif %} {% if runs %}

Sweep runs {{ e.run_count or runs | length }} configuration(s){% if e.best_run %}, best {{ e.best_run }}{% endif %}

{% if scatter %}{{ scatter | safe }}{% endif %}
{% endif %} {% if artifacts %}

Artifacts

{% for item in artifacts %}
{{ item.artifact.name }} {{ item.artifact.kind }} download
{{ item.html | safe }}
{% endfor %}
{% endif %} {% endblock %}