CALIBRATED 2026-07-27 · REC 003
Local AI Frontier

BENCHMARK PROTOCOL v1

How we test

FROZEN 2026-07-24 · ANY CHANGE LOGGED IN /CORRECTIONS

This is the contract behind every benchmark on the site. If a report doesn't follow this protocol, it shouldn't be here.

1 · The principle

Every published number is reproducible from the published configuration. A reader with the same hardware and software stack should be able to recreate our result within the stated variance. If they can't, we publish a correction.

2 · What we record

Every benchmark captures, at minimum:

  • Model artifact — file name, source, and SHA-256 checksum when local.
  • Quantization — exact GGUF tier (e.g. Q4_K_M, not "4-bit").
  • Runtime + version — llama.cpp build hash, vLLM version, etc.
  • Runtime settings — every relevant flag (-ngl, -c, -t, -b, --no-mmap).
  • Hardware — exact machine from the registry (CPU, RAM, GPU, VRAM, OS).
  • Backend — CUDA, ROCm, Vulkan, SYCL, Metal, or CPU. Driver/runtime version pinned.
  • Context length — tokens, with KV cache size noted.
  • Workload — which prompt pack was used and how it was scored.
  • Date — ISO date the test was run.
  • Author + reviewer — who ran it and who checked it.

3 · Measurements

For each machine in a benchmark, we record:

  • Prompt processing speed — tokens/second during prompt ingestion.
  • Generation speed — tokens/second during output. This is the headline number.
  • Time to first token (TTFT) — milliseconds from request to first output token.
  • VRAM used — gigabytes of GPU memory at steady state.
  • RAM used — gigabytes of system memory.
  • Power (where available) — watts at the wall during sustained generation.

4 · Run protocol

Every reported number is the average of 5 measured runs preceded by 3 warmup runs that are discarded. Run-to-run variance is reported in the limitations section; if variance exceeds 10% on the headline metric, we say so explicitly and investigate before publishing.

5 · Workload pack v1

The first workload pack covers five categories:

  • Coding — 100 HumanEval-style prompts, scored pass@1.
  • General — 50 mixed reasoning/writing prompts, scored blind against a reference.
  • Long context — 8K–32K-token prompts, scored on factual recall.
  • Structured output — prompts requiring valid JSON or function calls, scored on schema validity.
  • Real app — at least one task drawn from a shipping local-first product (currently MoreYess's sales-call rehearsal workload).

6 · Backend policy

We test on the backend that makes sense for the hardware — but we always say which. One specific rule: Intel Arc Battlemage uses Vulkan, not SYCL. SYCL produces garbage output on Battlemage (BMG G21); this is a known issue and we will not publish SYCL numbers for Arc B-series cards.

7 · Evidence retention

Raw outputs (logs, JSON timing data, screenshots) are stored durably and linked from each report via the raw data mark. Records are immutable after publication; corrections create a new revision with a visible change log.

8 · Corrections

If we're wrong, we fix it openly. Every correction is dated, summarized on the report, and listed on /corrections. We never silently edit a published number. Our guardrail is fewer than 2% of records requiring a correction caused by preventable data errors.

9 · What we don't do

  • Rank products by commission or commercial interest.
  • Publish numbers we can't reproduce.
  • Hide settings that would change the result.
  • Accept payment for placement in benchmarks.
  • Use unverified community-submitted numbers as if they were lab-verified.