{# Run-detail live region: summary + warnings + step tree. Embedded by run_detail.html and served standalone by /partials/runs/{slug} for the P2 live swap (live.js re-fetches this on each SSE tick). #}
{% if external %} running (external) {% else %} {{ manifest.status }} {% endif %} run {{ manifest.run_id }} {{ manifest.branch }} → {{ manifest.base_branch }} {% if external %} external {% elif owned %} owned{% if attached %} ·live{% endif %} {% else %} observed {% endif %} {% if manifest.totals.cost_usd is not none %} ${{ "%.2f"|format(manifest.totals.cost_usd) }} {% endif %} {% if manifest.current_step %}at {{ manifest.current_step }}{% endif %}
{# Abort is a control action (FR-6.2): stops a live owned driver and marks the run aborted via `gauntlet abort`. control.js confirms before POSTing and carries the session CSRF token (FR-10.6); the server requires `confirm: true` (FR-10.7). #} {% if can_abort %}
{% endif %} {% if manifest.warnings %} {% endif %} {# P5 recovery / gate / escalation panel (FR-4/FR-5). `intel` is always present; `gate` only when parked at a gate/escalation. #} {% if intel is defined %}{% include "_recovery.html" %}{% endif %}

Steps

{% for s in steps %} {% endfor %}
StepTypeStatusAgentDurationCostNotes
{{ s.id }}{% if s.iteration is not none %}[{{ s.iteration }}]{% endif %} {{ s.type }} {{ s.status }} {{ s.agent or "—" }} {% if s.duration_s is not none %}{{ "%.0f"|format(s.duration_s) }}s{% else %}—{% endif %} {% if s.cost_usd is not none %}${{ "%.2f"|format(s.cost_usd) }}{% else %}—{% endif %} {{ s.notes or "" }}