From fe52898fde16208e1e4ded64d188f62a861f3a2f Mon Sep 17 00:00:00 2001 From: Chris Sherwood Date: Tue, 4 Aug 2026 10:44:41 -0700 Subject: [PATCH] fix(benchmark): show the v2 score in Benchmark History The history table rendered nomad_score for every row, so a v2 run showed its legacy score while the Benchmark Details card directly above it showed the v2 one. The same run read as 65.0 in the table and 1036.1 in the card. Rows predating v2 have no v2 score and can only show the legacy number, so the two scales necessarily share a column. They differ by more than 10x, and without the scale on screen a v2 run sitting above older runs reads as a collapse rather than a rescale. Legacy rows now carry a "/ 100" suffix, which names the scale in place and reuses the wording the details card already uses ("Legacy scale: X / 100"). This compounds the re-run guidance in the release notes: someone re-runs on 1.34 as asked, gets a real v2 score, and their own history then shows the old number as though the machine got slower. Frontend only. getAllResults() already returns full rows, so nomad_score_v2 was in the payload the whole time. Verified on the NOMAD2 dev environment with a seeded history matching a real mixed case (one v2 run at 1036.1 plus two pre-v2 runs): the v2 row shows 1036.1 with no suffix and agrees with the details card, and the legacy rows show 71.1 / 100 and 86.5 / 100. Inertia typecheck shows the same 30 pre-existing errors as dev with none in this file. --- admin/inertia/pages/settings/benchmark.tsx | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/admin/inertia/pages/settings/benchmark.tsx b/admin/inertia/pages/settings/benchmark.tsx index 6ceb13c..a07295f 100644 --- a/admin/inertia/pages/settings/benchmark.tsx +++ b/admin/inertia/pages/settings/benchmark.tsx @@ -943,10 +943,34 @@ export default function BenchmarkPage(props: { ).toLocaleDateString()} {result.benchmark_type} + {/* + Show the v2 score when the run has one. + + This column rendered nomad_score for every + row, so a v2 run showed its legacy score + while the Benchmark Details card directly + above showed the v2 one. The same run read + as 65.0 here and 1036.1 there. + + Rows predating v2 have no v2 score and can + only show the legacy number, so the two + scales end up in one column. They differ by + more than 10x, and without the scale on + screen a v2 run next to older runs reads as + a collapse rather than a rescale. The "/ 100" + suffix names the legacy scale in place, + matching the wording the details card + already uses. + */} - {result.nomad_score.toFixed(1)} + {(result.nomad_score_v2 ?? result.nomad_score).toFixed(1)} + {result.nomad_score_v2 == null && ( + + / 100 + + )} {result.builder_tag || '—'}