The headline totals were using a per-task geometric mean, which gave
disproportionate weight to short responses with low effective user_tps
(e.g. 2-token SoftBench answers at ~1.2 tok/s). This produced misleadingly
low Devlogic totals (20.5 for asus_210w) when the displayed suite speeds
were all in the 40-50 tok/s range.
Replace geo-mean accumulators (ln_sum/ln_n) with token-weighted
accumulators (rate_token_sum = sum(user_tps × tokens)). The headline total
is now rate_token_sum / total_tokens, matching the methodology already used
by each displayed suite row.
For ScenarioBench, the suite aggregate gen_tps (sum(gen_tokens)/sum(wall))
is weighted by the suite's total generated tokens, keeping the headline
total consistent with the displayed ScenarioBench row.
Results for the 210W bands:
asus_210w: devlogic 20.5 → 47.0, sysops 19.5 → 10.6
sapphire_210w: devlogic 19.6 → 43.7, sysops 8.3 → 8.8
Replace the single Band total with two adjacent metric groups:
- Devlogic total: softbench, prosebench, psychbench, depthsweep
(all non-infra, non-scenario suites)
- Sysops total: infrabench + scenariobench
Each group independently shows geo-mean tok/s, total tokens, and
pass/fail counts. Scenariobench contributes per-observation
gen_tokens/wall rates to the sysops geo-mean.
Remove the server-config badge (e.g. 'llama.cpp DFlash spec-decode,
131k ctx, fa on') from the front-page card header. Label, quant, and
engine badges remain.
Migration drops the old total_* columns and adds devlogic_* and
sysops_* columns to session_summaries.
The stored blob is the inference server invocation, and it is no longer only
a local server's: a hosted provider is addressed rather than configured.
Display text only -- the table, routes and relations keep their names, so
there is no migration and no broken links.