Files
hanzo.ai/perf.budget.json
zeekayandHanzo Dev 277b2b15e7 benchmarks: one shelf for every run, the page as a story, the frozen record everywhere
/benchmarks is now one story: lead, proof, frontier, products, infrastructure,
boundaries, methods, then every benchmark and every run on one shelf. A
sticky chapter nav marks where you are. "/" opens a palette that jumps to
any benchmark; ⌘K stays the site search the header owns.

lib/results.ts builds one ledger from the files that hold the figures:
- the research runs: every Kai revision of every suite against Jev, the
  release gate, choice size, joint decisions, latency, validation splits;
- the leaderboard snapshot (Enso's boards);
- the engine's cells (Zen on the engine against llama.cpp);
- the memory, graph and code runs;
- the runtime passes.
That is 216 results across 35 benchmarks. Each is dated and marked live,
frozen or superseded. The one undated row, the sealed board's HarmBench
count, says so.

The shelf searches and highlights instantly. It is faceted by product,
category, metric, measured-by, date, status and result, with counts. Views
are kept in the URL, with named saved views, CSV/JSON export, and a compare
tray for rows of one benchmark and metric. Every benchmark without a
hand-written page gets /benchmarks/<slug>: its history over time,
conditions, hardware, source and reproduce command. The sitemap lists
these pages.

The prebuild now runs scripts/kai.mjs. It pulls the latest validated runs
(canonical, public, not inconsistent). The committed snapshot is the frozen
fallback when the API cannot be read or answers with fewer runs.

The home page's Kai line and /models' family line now read the frozen
harness from lib/tally (11 of 12, behind on Jailbreak). v2's 12 of 12
appears only where it is labelled.

Type follows the product pages (@hanzo/ui/marketing Display, Title,
Eyebrow, Lede). Motion is gui transitions, with no entrance that ships
hidden; the design system zeroes durations under reduced motion. The board
and shelf are imported only by the index, so the other benchmark pages stay
under budget. /benchmarks has its own budget, 440 KB.


Co-authored-by: Hanzo Dev <[email protected]>
2026-10-09 04:45:14 -07:00

28 lines
774 B
JSON

{
"default": { "js": 400, "lcp": 4000, "cls": 0.1 },
"pages": {
"/chat": { "js": 600 },
"/": { "js": 470 },
"/open-source": { "js": 430 },
"/dashboard": { "js": 430 },
"/settings/organization": { "js": 410 },
"/settings/organization/usage": { "js": 420 },
"/vibe": { "js": 420 },
"/models": { "js": 730 },
"/zen": { "js": 520 },
"/benchmarks": { "js": 440 },
"/bot/details": { "js": 410 },
"/commerce": { "js": 410 },
"/board": { "js": 550 },
"/work": { "js": 550 },
"/meet": { "js": 550 },
"/contacts": { "js": 550 },
"/home": { "js": 550 },
"/drive": { "js": 550 },
"/inbox": { "js": 550 },
"/cal": { "js": 550 },
"/bots": { "js": 550 }
},
"vitals": ["/", "/login", "/pricing"]
}