project-nomad/admin
Chris Sherwood ebc7bb5960
fix(benchmark): partial runs are not the NOMAD Score (relabel + renormalize)
A System-Only or AI-Only run is a partial result, not the NOMAD Score
(which is the full-benchmark composite). Two problems addressed:

1. Scoring bug: AI-only runs were NOT renormalized. _calculateNomadScore
   always added the system weights (0.60) to the denominator even for an
   AI-only run (default-zero system scores), so an excellent AI-only run
   scored ~39.8 -- scaled against the full NOMAD 100 where AI is only 40%
   -- while system-only already renormalized correctly. Fix: pass
   systemScores only when the system benchmarks actually ran, so AI-only
   renormalizes to its own 0-100 (39.8 -> ~99.7). Full and System-only
   scores are unchanged.

2. Presentation: partial runs were shown with the full "NOMAD Score"
   label + big gauge, outweighing the small "Partial" notice. Now partial
   runs are relabelled "System Score" / "AI Score" with a PARTIAL badge,
   a muted (neutral) gauge + number, and a "run a Full Benchmark for your
   NOMAD Score" CTA -- applied to both the persistent score section and
   the Phase 3 ScoreReveal via a shared getScoreDisplay() helper. Adds a
   `muted` prop to CircularGauge.

Browser-validated on NOMAD3: AI-only now shows "AI Score" + PARTIAL,
muted gauge, 99.7 (was 39.8); Full still shows "NOMAD Score" green.
Implements the display-layer fix from the Score v2 red-team's W2; the
AI-ceiling saturation (W1) remains v2 work.

Part of #1082.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 20:09:55 +00:00
..
app fix(benchmark): partial runs are not the NOMAD Score (relabel + renormalize) 2026-07-20 20:09:55 +00:00
bin feat: curated content system overhaul 2026-02-11 15:44:46 -08:00
commands feat(content): opt-in automatic updates for installed ZIM & map content 2026-06-23 04:47:01 +00:00
config fix: lazy-connect + retry for ioredis to avoid blocked startup 2026-06-23 17:40:10 +00:00
constants feat(benchmark): live telemetry during benchmark runs (#1082) (#1084) 2026-07-19 23:28:07 -07:00
database chore(catalog): sunset orphaned Meshtastic Daemon card (#1049) 2026-07-18 09:06:57 -07:00
docs chore: standardize brand name to Project NOMAD, retire backronym 2026-07-18 09:56:54 -07:00
inertia fix(benchmark): partial runs are not the NOMAD Score (relabel + renormalize) 2026-07-20 20:09:55 +00:00
providers fix(kiwix): self-heal a missing or corrupt library XML on startup 2026-06-23 04:46:56 +00:00
public feat: switch all PNG images to WEBP (#575) 2026-04-03 14:26:50 -07:00
resources chore: standardize brand name to Project NOMAD, retire backronym 2026-07-18 09:56:54 -07:00
scripts feat(supply-depot): add MeshCore Web with self-signed HTTPS 2026-06-23 04:47:06 +00:00
start fix(downloads): add retry button and resource download link for failed downloads (#1059) 2026-07-18 09:25:42 -07:00
tests chore(KB): filter non-content sections + render tables in ZIM extraction (#1044) 2026-07-18 09:03:53 -07:00
types feat(benchmark): end-of-run score reveal + NVIDIA GPU-util overlay (#1087) 2026-07-20 12:07:45 -07:00
util feat: display model download progress 2026-02-06 16:22:23 -08:00
views chore: standardize brand name to Project NOMAD, retire backronym 2026-07-18 09:56:54 -07:00
.editorconfig feat: initial commit 2025-06-29 15:51:08 -07:00
.env.example fix(system): prevent false offline reports when Cloudflare endpoint is unreachable 2026-06-23 04:47:01 +00:00
ace.js feat: initial commit 2025-06-29 15:51:08 -07:00
adonisrc.ts feat(GPU): auto-remediate nomad_ollama passthrough loss on admin boot (#755) 2026-05-20 10:16:00 -07:00
eslint.config.js feat: openwebui+ollama and zim management 2025-07-09 09:08:21 -07:00
package-lock.json chore(deps): bump tar, vite, and dockerode in admin 2026-07-20 05:56:41 +00:00
package.json chore(deps): bump tar, vite, and dockerode in admin 2026-07-20 05:56:41 +00:00
tailwind.config.ts feat: initial commit 2025-06-29 15:51:08 -07:00
tsconfig.json feat: initial commit 2025-06-29 15:51:08 -07:00
vite.config.ts fix(Maps): ensure proper parsing of hostnames (#640) 2026-04-03 14:26:50 -07:00