Skip to content

Commit 46f5c66

Browse files
committed
feat(site): use normalized rounds for histograms
1 parent 0ef788c commit 46f5c66

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

site/script.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ async function loadDetails(vendor, model, basePath, strategy = null) {
482482
// Create round distribution histogram with stacked bars by seed
483483
// Note: stats parameter is now runs array with new schema
484484
function createRoundHistogram(runs, canvasId) {
485-
const rounds = runs.map(run => run.final_round);
485+
const rounds = runs.map(run => run.final_round_norm);
486486
const maxRound = Math.max(...rounds);
487487
const minRound = 1;
488488

@@ -516,7 +516,8 @@ function createRoundHistogram(runs, canvasId) {
516516
const datasets = seeds.map(seed => {
517517
const counts = bins.map(round => {
518518
// New schema: run.config.seed (instead of s.seed)
519-
return runs.filter(r => r.final_round === round && (r.config?.seed || 'Unknown') ===
519+
return runs.filter(r => r.final_round_norm === round && (r.config?.seed ||
520+
'Unknown') ===
520521
seed)
521522
.length;
522523
});
@@ -648,9 +649,9 @@ function createPerformanceBarChart(entries) {
648649
const model = entry.model.name;
649650

650651
models.push(model);
651-
// New schema: avg_round and std_round (instead of avg_final_round and std_dev_final_round)
652-
avgRounds.push(entry.avg_round);
653-
stdDevs.push(entry.std_round);
652+
// Normalized rounds: avg_round_norm and std_round_norm (accounts for voucher penalties)
653+
avgRounds.push(entry.avg_round_norm);
654+
stdDevs.push(entry.std_round_norm);
654655
vendors.push(vendor);
655656

656657
const base = themePalette.vendors[vendor];
@@ -865,11 +866,11 @@ function createDetailRow(stats, modelName, data, vendor, model, basePath, strate
865866
const avgCost = `${(run.stats.cost_avg * 1000).toFixed(2)}`;
866867
const costStdDev = `${(run.stats.cost_std * 1000).toFixed(2)}`;
867868

868-
// New schema: run.config.seed (instead of stat.seed) and run.final_round
869+
// Normalized round (accounts for voucher penalties) and seed
869870
detailTableRows += `
870871
<tr class="hover:bg-zinc-200 hover:dark:bg-zinc-700 text-xs">
871872
<td class="px-2 py-2 text-center text-zinc-700 dark:text-zinc-300 font-mono">${run.config?.seed || 'Unknown'}</td>
872-
<td class="px-2 py-2 text-center text-zinc-700 dark:text-zinc-300 font-mono">${run.final_round}</td>
873+
<td class="px-2 py-2 text-center text-zinc-700 dark:text-zinc-300 font-mono">${run.final_round_norm}</td>
873874
<td class="px-2 py-2 text-center text-green-600 dark:text-green-400 font-mono">${successRate}%</td>
874875
<td class="px-2 py-2 text-center text-yellow-600 dark:text-yellow-400 font-mono">${failedRate}%</td>
875876
<td class="px-2 py-2 text-center text-red-600 dark:text-red-400 font-mono">${errorRate}%</td>
@@ -1238,9 +1239,9 @@ async function loadLeaderboard(leaderboardPath, detailBasePath, displayMode = 'm
12381239
const errorRate = ((entry.stats.calls_error / entry.stats.calls_total) * 100).toFixed(
12391240
0);
12401241

1241-
// Format averages with standard deviation - New schema: avg_round/std_round and stats.*
1242-
const avgRound = `${entry.avg_round.toFixed(1)}`;
1243-
const avgRoundStdDev = `${entry.std_round.toFixed(1)}`;
1242+
// Format averages with standard deviation - avg_round_norm/std_round_norm (accounts for voucher penalties)
1243+
const avgRound = `${entry.avg_round_norm.toFixed(1)}`;
1244+
const avgRoundStdDev = `${entry.std_round_norm.toFixed(1)}`;
12441245

12451246
const avgInputTokens = `${entry.stats.tokens_in_avg.toFixed(0)}`;
12461247
const avgInputTokensStdDev = `${entry.stats.tokens_in_std.toFixed(0)}`;

0 commit comments

Comments
 (0)