# report/ `summary.json`, `tables.md` and `chart.svg` are generated by `grb report` from `results/`; do not edit them. This README is written by hand: `grb report` does not touch it. ## summary.json (schema version 1) Strict JSON (no NaN), ids and numbers only, keys without spaces: the rules of the result files apply. Version rule: `schema_version` stays 1 as long as a change only adds fields or entries and leaves every existing key with its meaning, type and unit. Changing or removing a key, or changing its meaning, type or unit, makes it schema 2. Which result is used: of all result files with the same `kind` and `name`, the newest counts, by `created_utc` and then by `run_id`. The files it supersedes stay in `results/` (result files are never overwritten). These are all of them: | kind | name | superseded | counts instead | |---|---|---|---| | `costs` | `round1` | `costs-round1-20261011T105830Z-61f9d4` | `costs-round1-20261011T164212Z-95734e` | | `first_stage` | `hybrid-71k` | `first_stage-hybrid-71k-20261009T233420Z-a2085e` | `first_stage-hybrid-71k-20261010T000729Z-108e4c` | | `first_stage` | `keyword-71k` | `first_stage-keyword-71k-20261009T233413Z-fbd2cc` | `first_stage-keyword-71k-20261010T000721Z-52e3c2` | | `first_stage` | `keyword-plain-71k` | `first_stage-keyword-plain-71k-20261009T233424Z-1e3c1f` | `first_stage-keyword-plain-71k-20261010T000733Z-b317ea` | | `first_stage` | `vector-71k` | `first_stage-vector-71k-20261009T233417Z-a81640` | `first_stage-vector-71k-20261010T000725Z-1fc254` | | `judgments` | `judged-sample` | `judgments-judged-sample-20261010T172706Z-d8a837` | `judgments-judged-sample-20261010T182100Z-ca8dbb` | | `quality` | `summary-hybrid-71k` | `quality-summary-hybrid-71k-20261010T140103Z-499aff`, `quality-summary-hybrid-71k-20261010T182051Z-40e1f5` | `quality-summary-hybrid-71k-20261012T080507Z-95eada` | | `quality` | `summary-keyword-71k` | `quality-summary-keyword-71k-20261010T140103Z-971b7f`, `quality-summary-keyword-71k-20261010T182050Z-0c262d` | `quality-summary-keyword-71k-20261012T080507Z-ab7e07` | | `quality` | `summary-keyword-full` | `quality-summary-keyword-full-20261010T140104Z-5bfc00`, `quality-summary-keyword-full-20261010T182051Z-37dc14` | `quality-summary-keyword-full-20261012T080508Z-368030` | | `quality` | `summary-vector-71k` | `quality-summary-vector-71k-20261010T140103Z-31553a`, `quality-summary-vector-71k-20261010T182051Z-cf6364` | `quality-summary-vector-71k-20261012T080507Z-e8fbcc` | | `validation` | `mxbai-large-v2` | `validation-mxbai-large-v2-20261010T033738Z-cd4a53` | `validation-mxbai-large-v2-20261010T040457Z-eac0e2` | The four first stages were built on 2026-10-09 and again on 2026-10-10. The four `quality-summary-*` files and the judged sample were written again on 2026-10-10, with the same numbers; the four summaries once more on 2026-10-12, with the corrected contamination flag of bge-v2-m3 and the same numbers (DEVIATIONS.md). The first equality check of mxbai-large-v2 was not rated, the second passed. The costs were computed again on 2026-10-11, with the break-even against both Voyage models, the saving by Recall and the peak price of DeepSeek added; the numbers of the first computation are unchanged. A `run_id` is the name of its file; the folder is the UTC date of `created_utc`. Top-level keys: | key | content | |---|---| | `schema_version` | 1 | | `measured_from`, `measured` | UTC dates of the oldest and the newest result file of the kinds the report reads (`first_stage`, `quality`, `latency`, `validation`, `costs`, `judgments`, `pitfall`), superseded files included, the quality summaries not (they evaluate measured runs): the period of the round | | `repo_commit`, `repo_dirty` | the commit the report was computed at, and whether the tree had changes besides `results/`, `runs/` and `report/` | | `plan` | `commit` that added PLAN.md, `timestamp_file` (its OpenTimestamps proof) | | `bm25_reference` | BM25 values of the MIRACL paper (not run) | | `hardware` | `gpu`: the GPU of the GPU latency results | | `models` | per model id: registry data, `contamination`, `rated`, `validation` (the equality check in short) | | `first_stage` | per first stage: `metrics`, `counts`, `latency` (search), `query_embedding`, `contamination`, `exploratory` | | `quality` | per rerank stage: `models`, `best`, `winner`, `not_measured` | | `latency` | reranker latency per device group (below) | | `cpu_indicative` | desktop CPU pre-measurement: `conditions` and `models`; indicative only | | `checks` | `determinism`, `dtype`, `pointwise`, `evaluation`: the latest check results | | `costs` | `costs`, `context`, `checks` and `notes` of the costs result | | `judgments` | `metrics`, `checks` and `notes` of the judged sample | | `pitfall` | `metrics`, `checks`, `model` and `stage` of the pitfalls experiment | Composite keys: - `latency`: `cuda:desktop-se` (the GPU) and `api:desktop-se: