{% extends "base.html" %} {% block title %}Trials{% endblock %} {% block body %}
The same task, several models, one comparison. Scores accumulate here so the tier-to-model map is a decision, not a guess.
| contender | trials | wins | win rate | avg score | avg cost | $ per point | avg tokens in / out | failed | env failed |
|---|---|---|---|---|---|---|---|---|---|
| {{ r.label }} | {{ r.trials }} | {{ r.wins }} | {% if r.win_rate is not none %}{{ (r.win_rate * 100)|round|int }}%{% endif %} | {% if r.avg_score is not none %}{{ r.avg_score }}{% endif %} | {% if r.avg_cost is not none %}${{ '%.2f' % r.avg_cost }}{% endif %} | {% if r.cost_per_point is not none %}${{ '%.3f' % r.cost_per_point }}{% endif %} | {{ '{:,}'.format(r.avg_input_tokens) }} / {{ '{:,}'.format(r.avg_output_tokens) }} | {{ r.failed }} | {{ r.env_failed }} |
env failed: the contender's own harness or environment stopped it (quota, login, a sandbox denial, a missing setup) — excluded from the comparison, not scored as a loss.
$ per point is cost divided by the comparison score: the cheapest way to a good PR is the lowest number, not the lowest cost.
{% else %}