{# T36.2 — sandbox experiments list under the T28 admin layout. #} {# Data table mirrors ``admin_scans.html`` styling: white card + #} {# divide-y rows, status chips, right-aligned numeric columns. #} {% extends "admin_layout.html" %} {% block page_title %}Sandbox experiments{% endblock %} {% block breadcrumb %} Admin / Experiments {% endblock %} {% block content %}
{# ===================== Cap card ===================== #} {% set over_cap = today_usd >= cap_usd %}
Today's spend (UTC)
${{ '%.4f'|format(today_usd) }} / ${{ '%.2f'|format(cap_usd) }}
{# ===================== Empty state ===================== #} {% if not experiments %}

No experiments yet. Start from an LLM call's debug page or a from-scratch editor.

{% else %} {# ===================== Data table ===================== #}
{% for exp in experiments %} {% endfor %}
When Prompt Model Status Cost In / Out Latency Source Actions
{{ exp.created_at }} {{ exp.prompt_name }} {{ exp.model }} {% if exp.ok %} ok {% else %} fail {% endif %} ${{ '%.4f'|format(exp.cost_usd) }} {{ exp.tokens_in }} / {{ exp.tokens_out }} {{ exp.latency_ms }}ms {% if exp.source_llm_call_id %} {{ exp.source_llm_call_id[:8] }}… {% else %} (from scratch) {% endif %} View diff →
{# ===================== Pagination footer ===================== #}
Showing {{ offset + 1 }}{{ offset + experiments|length }} of {{ total }}
{% if has_prev %} ← Prev {% else %} ← Prev {% endif %} {% if has_next %} Next → {% else %} Next → {% endif %}
{% endif %}
Admin dashboard · User dashboard
{% endblock %}