{% extends "_base.html" %}
{% block title %}harness-evaluator — {{ run_name }}{% endblock %}
{% block head_extra %}
{% if is_in_progress %} {% endif %}
{% endblock %}
{% macro th_sort(col, label, sort, order, base_query, run_name) %}
{{ label }}{% if sort == col %} {{ '↑' if order == 'asc' else '↓' }} {% endif %}
{% endmacro %}
{% block content %}
← All runs
{{ run_name }}
{% if state_summary %}
{% for status, count in state_summary.items() %}
{{ status }}: {{ count }}
{% endfor %}
{% endif %}
{% if failed_cells %}
Failed / Skipped Cells ({{ failed_cells|length }})
Cell ID Status Error
{% for c in failed_cells %}
{{ c.cell_id }}
{{ c.status }}
{{ c.error or '' }}
{% endfor %}
{% endif %}
{{ total_cells }}
Total Cells
${{ "%.4f"|format(cost) }}
Cost
{{ total_count }}
Filtered
{% if run_metadata %}
Run Metadata
Created {{ run_metadata.created_at }}
{% if run_metadata.harness_evaluator_version %}Version {{ run_metadata.harness_evaluator_version }} {% endif %}
{% if run_metadata.docker_image %}Docker Image {{ run_metadata.docker_image }} {% endif %}
{% if run_metadata.config_json %}
{{ run_metadata.config_json }}
{% endif %}
{% endif %}
{% if leaderboards %}
Leaderboards
{% for model_name, rows in leaderboards.items() %}
{{ model_name }}
Harness Success
Avg Tokens Avg Cost
Avg Time API Calls
{% for row in rows %}
{% set sv = row.success_pct | float %}
{{ row.harness }}
{{ row.success_pct }}%
{{ row.avg_tokens }}
${{ row.avg_cost }}
{{ row.avg_time_s }}s
{{ row.avg_api_calls }}
{% endfor %}
{% endfor %}
{% endif %}
Results ({{ total_count }} total, showing {{ results|length }})
{{ th_sort('harness', 'Harness', sort, order, base_query, run_name) }}
{{ th_sort('model', 'Model', sort, order, base_query, run_name) }}
{{ th_sort('task_id', 'Task', sort, order, base_query, run_name) }}
{{ th_sort('repeat', 'Repeat', sort, order, base_query, run_name) }}
{{ th_sort('exit_class', 'Exit', sort, order, base_query, run_name) }}
{{ th_sort('success', 'Success', sort, order, base_query, run_name) }}
{{ th_sort('total_cost', 'Cost', sort, order, base_query, run_name) }}
{{ th_sort('latency_ms', 'Time', sort, order, base_query, run_name) }}
{{ th_sort('num_api_calls', 'API Calls', sort, order, base_query, run_name) }}
Error Class
Error Message
{% for r in results %}
{% set total_tokens = r.input_tokens + r.output_tokens + r.cache_read_tokens + r.cache_write_tokens + r.reasoning_tokens %}
{% set exit_class = 'pass' if r.exit_class == 'pass' else ('partial' if r.exit_class == 'partial' else ('kill' if r.exit_class in ('retryable_kill', 'non_retryable_kill') else 'fail')) %}
{{ r.harness }}
{{ r.model }}
{{ r.task_id }}
r{{ r.repeat }}
{{ r.exit_class }}
{{ "%.2f"|format(r.success) }}
${{ "%.6f"|format(r.total_cost) }}
{{ "%.1f"|format(r.latency_ms / 1000) }}s
{{ r.num_api_calls }}
{{ r.error_class or '' }}
{{ r.error_message or '' }}
{% endfor %}
{% if phase_results %}
Phase Details (current page)
{% for cell_id, phases in phase_results.items() %}
{{ cell_id }} ({{ phases|length }} phase{{ 's' if phases|length != 1 else '' }})
Phase Model Role
Exit Code Duration Timed Out
Tokens Cost Error
{% for p in phases %}
{{ p.phase_name }}
{{ p.model }}
{{ p.model_role }}
{{ p.exit_code }}
{{ "%.1f"|format(p.duration_ms / 1000) }}s
{{ "yes" if p.timed_out else "no" }}
{{ p.input_tokens + p.output_tokens }}
${{ "%.6f"|format(p.total_cost) }}
{{ p.error or '' }}
{% endfor %}
{% endfor %}
{% endif %}
{% if total_pages > 1 %}
{% endif %}
{% endblock %}