Commit graph

39 commits

Author SHA1 Message Date
PeterChrz
700bdae959
feat: replace search/select filters with 5 multi-select checkbox dropdowns
Remove the free-text search input (exact-string LIKE was misleading) and
the single-value Model/Suite selects. Replace with five checkbox
multi-select dropdowns in display order: GPU, Model, Quant, Inference
engine, Suite.

Matching semantics:
  - OR within each filter control (selecting two GPUs shows either)
  - AND across controls (GPU + Model + Quant + Engine + Suite)
  - Suite selection is inclusive: a band running any selected suite
    matches, including incomplete bands missing some selected suites

Each dropdown shows a count badge when active and a checkmark per selected
item. Pagination resets on every filter change. The cache key already
includes the filters array so filtered results are cached independently.
2026-10-05 00:37:33 -04:00
PeterChrz
895a764b88
ui: group suite rows under their devlogic/sysops total header
Each category now renders as a self-contained section: its colored
total strip, its own column headings, and its suite rows directly
beneath. Empty categories are omitted entirely. Removes the old
single-column-header layout that sat above all rows regardless of
category.
2026-10-05 00:20:19 -04:00
PeterChrz
75337a80a7
ui: stack devlogic/sysops totals vertically with category accent colors
Replace side-by-side layout with stacked rows. Devlogic gets a sky-blue
left border and label tint; Sysops gets an amber left border and label
tint. Removes the | separator since the stacked rows establish clear
visual hierarchy.
2026-10-05 00:15:44 -04:00
PeterChrz
179a678b71
style: add horizontal margin to devlogic/sysops separator 2026-10-05 00:12:03 -04:00
PeterChrz
ac941fdd27
fix: switch devlogic/sysops totals from geo-mean to token-weighted average
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
2026-10-05 00:00:19 -04:00
PeterChrz
9b9150dd6b
Add separator between Devlogic and Sysops totals 2026-10-04 23:43:20 -04:00
PeterChrz
7e57fb5e16
Split band total into Devlogic and Sysops; remove config badge
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.
2026-10-04 23:38:13 -04:00
PeterChrz
9bf17dba6f
Make label part of band identity; correct ASUS GPU attribution
Labels now define distinct sessions — different power-cap configs
(asus_210w, sapphire_210w, asus_uncapped) render as separate bands
instead of merging into one. The label badge displays alongside
quant/engine/config badges rather than replacing them.

Scenario drilldown filters by label to prevent cross-band mixing.

Data fix: runs 22-32 (asus_210w) and 43-46 (asus_uncapped) reassigned
from Sapphire (gpu_id=11) to ASUS (gpu_id=12) — they were run on the
ASUS card but imported with the Sapphire GPU identity.
2026-10-04 23:18:21 -04:00
PeterChrz
f96fd1ad77
Exclude scenariobench from band total geo mean; label tok/s 2026-10-01 14:53:59 -04:00
PeterChrz
6c19822235
Show weighted-only speed on main page; add Gen tok/s column to scenario results 2026-09-30 19:35:17 -04:00
PeterChrz
8c9e512fc2
Add geometric-mean band total (tok/s + tokens) under each band header 2026-09-30 15:47:01 -04:00
PeterChrz
f334538866
Surface thinking level for scenariobench bands; backfill Ollama Cloud runs to low 2026-09-30 10:30:55 -04:00
PeterChrz
4bfa1c75ea
Align summary columns via shared grid layout for header and rows 2026-09-30 09:54:45 -04:00
PeterChrz
dc2e78bff0
Rename main page heading to FestBench - Benchmarks 2026-09-30 09:50:59 -04:00
PeterChrz
163a16a386
Add cloud providers to GPU catalog; relink hosted runs to Ollama Cloud 2026-09-30 09:42:54 -04:00
PeterChrz
8ab06133a5
Add Sapphire/ASUS R9700 variants to GPU catalog 2026-09-30 09:39:05 -04:00
PeterChrz
18ffb713c9
Fix filter selects defaulting to first option instead of All/Any placeholder 2026-09-30 09:32:17 -04:00
PeterChrz
10d4e0aef8
Rename Server Config to Inference Args in the UI
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.
2026-09-21 08:02:34 -04:00
PeterChrz
7f53ce6878
Fix infrabench sort default: use task instead of missing section column 2026-09-20 23:42:13 -04:00
PeterChrz
8ec5c28623
Severity-ordered psychbench sections, streamlined run metadata card with server config YAML 2026-09-20 23:32:43 -04:00
PeterChrz
6f6f43c5ec
Add sortable columns to all bench result tables (scenario detail + run detail) 2026-09-20 23:26:29 -04:00
PeterChrz
504b9e1322
Center-align numeric columns in all bench result tables 2026-09-20 23:07:44 -04:00
PeterChrz
06908e252d
v2.4: per-band scenariobench aggregation, band scenario detail page, nickname badges, orderBy fix 2026-09-20 22:49:23 -04:00
PeterChrz
9f9327bb27
v2.3: group runs by actual harness config, per-level depthsweep, scenario gen speed, named server configs 2026-09-19 23:45:04 -04:00
PeterChrz
3695632e58
v2.2: depthsweep suite (table, model, registry, run-detail branch), band column headers, GpuSeeder in DatabaseSeeder, device-flow + catalog + confirm-picker tests 2026-09-19 21:11:20 -04:00
PeterChrz
646cecc403
Device flow: one-time plaintext token pickup (plain_token stash), poll throttle 120/min for 3s CLI rhythm 2026-09-19 21:06:20 -04:00
PeterChrz
e406b52a2d
CLI device login flow (Sanctum + device_codes, authorize screen, /api/me, /api/gpus) + canonical GPU catalog (gpus table, seeder, import normalizer, my-runs confirm picker, festbench:gpus + festbench:tokens) 2026-09-19 12:56:40 -04:00
PeterChrz
2e205ef792
v2.1: session-grouped summary home page (GPU/model/quant/runner bands, per-suite pass/fail, avg + weighted tok/s), flat task table moved to /results, summary command + tables on schedule and after import 2026-09-18 20:12:30 -04:00
PeterChrz
53a0ee54c1
v2 Phase E: Postgres prod image (pdo_pgsql), entrypoint runs suites:refresh + snapshot, README v2 2026-09-18 15:06:15 -04:00
PeterChrz
11e720f6f3
v2 Phase D: home_snapshot table + refresh command, TTL caching, public CDN cache headers for guest pages 2026-09-18 15:01:41 -04:00
PeterChrz
72cde51978
v2 Phase C: suite-aware home table via all_results view, tailored run detail, per-suite tests 2026-09-18 14:49:09 -04:00
PeterChrz
8c75db59f0
v2 Phase A+B: Postgres, partitioned per-suite tables, suite registry, all_results view, import rework, surgical re-import of deterministic session 2026-09-18 14:41:33 -04:00
PeterChrz
39661d3ca7
Phase 5: production FrankenPHP image (Dockerfile, Caddyfile, entrypoint), post-commit deploy hook, README 2026-09-16 23:02:00 -04:00
PeterChrz
8863585fd6
Phase 4: festbench:import artisan command, real-schema fixture tests, imported 109 real runs 2026-09-16 22:42:38 -04:00
PeterChrz
5ec35c367b
Phase 3: results table home page, run detail with owner notes/visibility, my-runs page 2026-09-16 22:41:12 -04:00
PeterChrz
6af567b207
chore: remove debug file 2026-09-16 22:34:49 -04:00
PeterChrz
49033c2456
Phase 2: benchmark_runs + run_results schema, models with visibility scope and immutability guard, factories, tests 2026-09-16 22:34:43 -04:00
PeterChrz
6d5f9d1ac3
Phase 1: dev environment — MariaDB container, frankenphp dev server, TCP MySQL env 2026-09-16 22:29:49 -04:00
PeterChrz
6d3675113d
Initial commit: Laravel 12 livewire-starter-kit + flux-pro, fortify, spatie/laravel-data 2026-09-16 22:28:11 -04:00