{% extends "base.html" %} {% block title %}understudy - Report{% endblock %} {% block content %}

Evaluation Report

Overview
{{ summary.total_runs }}
Total Runs
{{ "%.1f"|format(summary.pass_rate * 100) }}%
Pass Rate
{{ failed_runs|length }}
Failed Runs
Efficiency Metrics
{{ "%.1f"|format(summary.avg_turns) }}
Avg Turns/Run
{{ "%.0f"|format(summary.avg_latency_per_turn_ms) }}ms
Avg Latency/Turn
{{ "%.1f"|format(summary.total_latency_ms / 1000) }}s
Total Agent Time
{{ "%.0f"|format(summary.avg_input_tokens_per_turn) }}
Avg Input Tokens/Turn
{{ "%.0f"|format(summary.avg_output_tokens_per_turn) }}
Avg Output Tokens/Turn
{{ "%.0f"|format(summary.avg_thinking_tokens_per_turn) }}
Avg Thinking Tokens/Turn
{% if summary.judge_stats %}
Quality Metrics (LLM Judges)
{% for rubric, stats in summary.judge_stats.items() %} {% endfor %}
Rubric Pass Rate Avg Agreement Evaluated
{{ rubric }} {{ "%.0f"|format(stats.pass_rate * 100) }}% {{ "%.0f"|format(stats.avg_agreement * 100) }}% {{ stats.count }} runs
{% endif %} {% if failed_runs %}
Failed Runs
{% for run in failed_runs %}
{{ run.scene_id }} FAIL
Checks failed: {{ run.failed_checks|join(", ") }} {{ run.turn_count }} turns · {{ run.terminal_state or "none" }}
{% if run.analysis %}
Analysis: {{ run.analysis }}
{% endif %}
{% endfor %} {% endif %}
{% if summary.tool_usage %}
Tool Usage
{% for tool, count in summary.tool_usage.items() %} {% endfor %}
Tool Total Avg/Run
{{ tool }} {{ count }} {{ "%.1f"|format(count / summary.total_runs) }}
{% endif %} {% if summary.terminal_states %}
Terminal States
{% for state, count in summary.terminal_states.items() %} {% endfor %}
State Count %
{{ state }} {{ count }} {{ "%.0f"|format(count / summary.total_runs * 100) }}%
{% endif %}
{% if summary.agents %}
Agent Invocations
{% for agent, count in summary.agents.items() %} {% endfor %}
Agent Invocations
{{ agent }} {{ count }}
{% endif %}
All Runs
{% for run in runs %} {% else %} {% endfor %}
Scene Status Terminal State Turns Tools Tags Timestamp
{{ run.scene_id }} {% if run.passed %} PASS {% else %} FAIL {% endif %} {{ run.terminal_state or "none" }} {{ run.turn_count }} {{ run.tools_called|length }} {% for key, value in run.tags.items() %} {{ key }}={{ value }} {% endfor %} {{ run.timestamp }}
No runs found.
{% endblock %}