# A-05 notes — the v2 re-score of reading 0 and pre-0 (for the lead's amendment entry)

*Generated by `series/a05_notes.py` at 2026-09-24T16:36:39Z from `series/series.json` (built 2026-09-24T16:36:29Z), `series/mdc.json` and git HEAD `7f4b4d83485b`'s `series/series.json` (the series before A-05, built 2026-09-23T22:00:02Z). Internal: it names boxes and paths. Every figure is read from a file; the prose around the figures is the lane's. Revised after the verifier's report (M1 A-09 hold, M2 §2.3 posture, M3 dry runs; S1–S9).*

**What A-05 is** (PREREG-S0 §9.3): `series.jsonl` for reading 0 plus "pre-0", every row scored by `parse_v2.py` (sha `689254c5c466944c9a24740511b78f711b662b8792efe2fb6177a030ebdf708c`, selftest: parse_v2 selftest: 48 cases OK), each S0 set's minimum detectable change, and the anchor's determinism repeat. **The gate held at build** (`series/provenance.py` `gate()`, which refuses otherwise): PREREG-S0.md sha256 `withheld-2026-09-29` = PREREG-S0.md.sha256; A-01 cites protocol.json `ffcfa7b73ebc7a71c75f475bec26dda7ee3eb32c3128081f90f197c1fcee7e9e` (protocol_version 1); A-02 cites METRICS.md `withheld-2026-09-29` (metrics_version v1); A-03 cites pins.json `fa0d88110117c4bae12cf97d120b6ce9c1389176f7f39b4b30016060952100e9`; A-04 cites KIT.lock.json `0bca44b4ec019eef696929fc6d36178bcce7d5b1b88b4ddaeba3ca207598f84f`; A-11 (the ★ rule) at PREREG-S0.md:510, 2026-09-24T15:08:15Z; every §9.2 cell file carries the sha §10 registers (`cells.py`). Amendments read: A-00, A-01, A-02, A-03, A-04, A-09, A-10, A-11. A-05's `amends:` field is the PREREG sha above (the chain's last link is A-11, which followed A-04). **A-09 has landed** — benchbox's rows carry runtime_sha `39c8dea520be728599c4b8fda8f3466b4caca0c50fff6e5c065d0368c74d551c`.

## 1 · Commands run (from the bench root, in this order)

```
cd /workshop/estate/bench/cost-of-intelligence-2026-09-23
python3 -B parse_v2.py --selftest
python3 -B series/build_series.py
python3 -B series/mdc.py
python3 -B series/charts.py
python3 -B -m unittest discover -s series -p 'test_*.py'
python3 -B series/a05_notes.py
```

No GPU, no network, no model call: every command reads files already on the laptop. `build_series.py` ran with its defaults: `--in-progress auto` (each lane's state read from its files) and `--posture-proxy full-pass`.

## 2 · Output files and their sha256

| file | bytes | sha256 |
|---|---:|---|
| `series/series.jsonl` | 9090164 | `902747cd084a25980ba4db0ed6dd660b05fdcc0e3cd2b88522aed2b7be36e215` |
| `series/series.json` | 2980611 | `21a29d14a24e6e1cdf49ae21f0c5b5835cf6b1d30ac82972239cfc81da5ae5b2` |
| `series/series.csv` | 1303540 | `withheld-2026-09-29` |
| `series/items.json` | 2096996 | `290feb0fc86a61638d212ad89b5ed1bfd7308ba25a173e47f949bf9e75a64c18` |
| `series/mdc.json` | 125707 | `d8e1eaa44c02d25637ec2e0bae8cf60abc122a430e701a36c46473b0df67debf` |
| `charts/c1-score-by-release-sixway.svg` | 337612 | `ef3488c555d26b7d0b1fe0f96f085accc9a2f3cb400d9ec319bc6763078121e2` |
| `charts/c1-score-by-release-doorman.svg` | 103080 | `293005dd014f06f7903d4e4b51292f9b0117f135f8f8356516e44507eff131b6` |
| `charts/c2-cost-per-correct.svg` | 202665 | `d31d8ba5a8e47c595de6937654d2d34f44e6bda8474368cacce9c6ea0757a1ac` |
| `charts/c3-ladder.svg` | 47704 | `f2a66e687f2e922fabd3d0581ef17dd1d666b93e42ee7f91c1b3dab457b8f61c` |
| `charts/c4-ratios.svg` | 20599 | `39b53b02944cd9e09723aa30b5c06d8237ecdec115c0b98d4678690ef5d1161b` |
| `charts/c5-best-that-fits.svg` | 71544 | `1c38fead85ed653dc23d32068dd23f59cb35f150cfeef17dae7f6a2eebc7fd21` |
| `charts/CHARTS.md` | 7055 | `a7cf5ea243c98d1cfed2e940b79d2a36ee3008ba6cfd4645f6d7898083bf10d8` |
| `charts/data/c1-score-by-release-sixway.csv` | 30106 | `withheld-2026-09-29` |
| `charts/data/c1-score-by-release-doorman.csv` | 7820 | `withheld-2026-09-29` |
| `charts/data/c2-cost-per-correct.csv` | 66368 | `withheld-2026-09-29` |
| `charts/data/c3-ladder.csv` | 6528 | `withheld-2026-09-29` |
| `charts/data/c3-tests.csv` | 39763 | `withheld-2026-09-29` |
| `charts/data/c4-ratios.csv` | 2491 | `276e6a44822a684d669e811f51e96e1bc41da164ab6c2601a4e1b3305b0449d7` |
| `charts/data/c5-best-that-fits.csv` | 23299 | `withheld-2026-09-29` |
| `charts/palette-validation.txt` | 1581 | `b9d2a71547efbb3bd3a12feb643a32a91b19e0e6ae7c98deb0cc8b74e4faf1d2` |

`series.jsonl`: one line per row (359), every column typed, plus `passes` — every pass of the cell with its role (the score, averaged, determinism only) and its items in kit order (kit_index, prompt_sha256, id, label, disposition, format_class, choice_strict, choice_lenient, choice_v1, correct_strict, correct_lenient, correct_v1, provider_stop_reason, refused_classifier, template_suspect, generated_sha256_16, src_line). **`sha256_prereg_blanked`** (the same lines with `prereg_sha` nulled; stable across amendments): `7841df3df154e48678ef5d6f1fc08731dbe442a39de87b4cddc8a4454d704bf4`.

## 3 · Row counts per lane and per reading

| lane | reading 0 (series.jsonl) | reading 0 held (A-09) | reading 0.1 | pre-0 | reading-0 series-role rows | reading-0 headlines | of them provisional | counts only | protocol verdicts | lane state at build |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| anthropic-reading-0 | 17 | 0 | 6 | 0 | 17 | 12 | 8 | 2 | 0 | in progress: 3 of 22 cells outstanding |
| rtx-pro-6000-reading-0 | 14 | 0 | 4 | 0 | 14 | 10 | 0 | 2 | 0 | in progress: 5 of 13 cells outstanding |
| cloud-reading-0 | 107 | 0 | 0 | 0 | 107 | 59 | 17 | 0 | 5 | complete |
| jev-2026-09-21 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | pre-0 |
| rtx-3090-reading-0 | 91 | 0 | 0 | 0 | 87 | 73 | 13 | 0 | 2 | complete |
| laptop-reading-0 | 79 | 0 | 0 | 0 | 76 | 64 | 10 | 3 | 2 | complete |
| openai-reading-0 | 31 | 0 | 0 | 0 | 31 | 29 | 0 | 0 | 0 | in progress: 18 of 49 cells outstanding |
| **all** | **339** | **0** | **10** | **10** | **332** | **247** | **48** | **7** | **9** | |

Per set (reading 0 in series.jsonl / held / 0.1 / pre-0): c 193 / 0 / 2 / 4; doorman48-letter 117 / 0 / 8 / 2; a 14 / 0 / 0 / 2; f40 15 / 0 / 0 / 2.

**Reading 0.1 rows** (not on §9.2's list; in series.jsonl, never in a reading-0 chart): falcon:180b c (rtx-pro-6000+rtx-3090-desktop): in no the desktop's larger card arms file §9.2 pins (beside-1/-2/-3, arms-window); mistral:v0.1 c (rtx-pro-6000+rtx-3090-desktop): in no the desktop's larger card arms file §9.2 pins (beside-1/-2/-3, arms-window); claude-sonnet-4-5 d (Anthropic): PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held); claude-haiku-4-5 d (Anthropic): PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held); claude-opus-4-8 d (Anthropic): PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held); claude-sonnet-5 d (Anthropic): PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held); claude-fable-5-1 d (Anthropic): PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held); claude-opus-5-5 d (Anthropic): PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held); falcon:180b d (rtx-pro-6000+rtx-3090-desktop): in no the desktop's larger card arms file §9.2 pins (beside-1/-2/-3, arms-window); mistral:v0.1 d (rtx-pro-6000+rtx-3090-desktop): in no the desktop's larger card arms file §9.2 pins (beside-1/-2/-3, arms-window).

**Pre-0 rows** (the Jev bench; generate method on an S0 set whose fingerprint equals the registered one): jev-generate a 63/63; base-generate a 63/63; gemma4-fp8-generate c 87/108; jev-generate c 90/108; openjev-fp8-generate c 101/108; base-generate c 88/108; gemma4-fp8-generate d 35/48; openjev-fp8-generate d 45/48; gemma4-fp8-generate f 40/40; openjev-fp8-generate f 40/40.

**Not series rows** (`series.json` → `meta.skipped`, each with why):

- never a cell (dry runs and rehearsals no §9.2 file lists; M3) — 7: benchbox-3090 dryrun-k0; the desktop's larger card dry-a-gemma4-anchor; the desktop's larger card dry-b-trip-gemma4; the desktop's larger card r-w1-gemma4-limit3; the desktop's larger card r-w1-mistral-limit3; the desktop's larger card r-w2-gemma4-full; the desktop's larger card r-w3-gemma4-full
- superseded (the re-run or R-21's re-read is the row of record, §9.2) — 7: laptop superseded-b-llama2-7b-postureA-L04-20260923T1852Z; laptop superseded-b-vicuna-33b-memmax16g-20260923T1851Z; laptop superseded-dry12-anchor-4096-memgate-20260923T1824Z; laptop superseded-item12-memmax4g-20260923T1826Z; laptop superseded-k0a-gemma4-anchor-cd-memmax16g-20260923T1851Z; anthropic claude-fable-5-1 (c p1); anthropic claude-fable-5 (c p1)
- registered cells with no rows (a FAILED or REFUSED receipt) — 7: benchbox-3090 b-nemotron3-nano-30b; laptop b-gemma2-27b; laptop b-llama3.1-8b; laptop b-mistral-7b-v0.3; laptop b-mistral-nemo-12b; laptop b-nemotron3-nano-30b; the desktop's larger card b2-gpt-oss-20b-low-cd
- the Jev bench, not generate on an S0 set — 66: readout, Kev and reorder methods, sets without a registered fingerprint, and the passes rule 1.1-a refuses (§9 item on pre-0)

**The lanes' state at build** (`lane_status.py`; `reading_status` on every row): anthropic-reading-0 — reading in progress: 3 of 22 registered cells had no rows at build (claude-fable-5-1+effort-low.c.p1, claude-opus-4-7+effort-low.c.p1, claude-opus-5+effort-low.c.p1); the lane's log anthropic-reading-0/reading.log ends 'EXIT 0'; rtx-pro-6000-reading-0 — reading in progress: 5 of 13 registered cells had no rows at build (w-gpt-oss-120b-low-cd, w-llama2-70b-chat-cd, w-llama3-70b-cd, w-llama3.3-70b-cd, w-qwen2.5-72b-cd); cloud-reading-0 — lane complete at build: every one of its 108 registered cells has rows or a receipt; rtx-3090-reading-0 — lane complete at build: every one of its 51 registered cells has rows or a receipt; the lane's log rtx-3090-reading-0/queue/queue.log ends '2026-09-24T03:21:09Z QUEUE EMPTY'; laptop-reading-0 — lane complete at build: every one of its 45 registered cells has rows or a receipt; the lane's log laptop-reading-0/queue.log ends '2026-09-24T01:31:20Z QUEUE EMPTY'; openai-reading-0 — reading in progress: 18 of 49 registered cells had no rows at build (gpt-4-0613 a (the anchor sweep), gpt-4-0613 c (the anchor sweep, the six-way repeat), gpt-4-0613 f (the anchor sweep), gpt-4-0613 j (the anchor sweep), gpt-4-turbo-2024-04-09 a (the anchor sweep), gpt-4-turbo-2024-04-09 f (the anchor sweep) and 12 more).

## 4 · Each S0 set's minimum detectable change (PREREG-S0 §4.1) — for the lead's ruling

**The procedure** (`series/mdc.py`) (this file's reading of that sentence; the PREREG names the bootstrap, not the construction, so A-05's entry states it and the lead may replace it): 1. The noise a between-reading comparison carries is the disagreement between two passes of the SAME cell. At reading 0 those pairs are: the local greedy re-runs of one digest on one card (a superseded run and its re-run of record, §9.2), the shelf's rep-2 row, and the Claude temperature repeats (sampled, D-4). Each pair is scored by parse_v2 and compared item by item on prompt_sha256 (rule 1.1-b): its discordant counts are the inputs. 2. For a set and a noise class, q = the pooled discordant share over that class's pairs on the set (discordant items / paired items). A synthetic pair of passes over the set's n items is built with round(q·n/2) discordant items in each direction plus m items that moved one way (spread evenly over the kit order, so every cluster gets its share), and PREREG-S0 §4.2's paired bootstrap is run on it (10,000 resamples, seed 20260923, Python random.Random; clusters when the set registers >= 10 of them: c by dinner_id, a by article slug). 3. The MDC is the smallest m/n whose 95 % interval excludes 0 (lower bound > 0). A set with no pair of a class at reading 0 prints no MDC for that class; the zero-noise floor (q = 0) prints for every set. WHAT THE LEAD RULES ON (the numbers put in front of the ruling; none of them is a rule): * POWER. Step 3 finds the change that is detected when it is OBSERVED exactly: a true change of that size is detected about half the time (~50 % power). `mdc_80_approx` scales it by (z_0.975 + z_0.80) / z_0.975 = 1.43, the normal approximation of the change detected four times in five; it is labelled approximate. * THE NOISE CLASS. Same-cell re-runs (step 1) are what a between-reading comparison of one cell carries; M-11's starting values (≈ 0.09 at n = 108) came from the discordance between two DIFFERENT rows (gpt-4-0613 and the bare-tag gemma4 row: 7 vs 7, panel/method_checks.py [2]). Two more classes print beside the same-cell ones, never pooled with them: "M-11's pair" (that same pair, re-scored by parse_v2) and "same digest, another card" (every reading-0 bridge's pair, §2.5 S-7: what a card move carries). * TWO-CLASS SETS. d48, a and f40 are headlined in balanced accuracy (§4.3); the MDC above is in raw accuracy. One item moves raw accuracy by 1/n and balanced accuracy by 1/(2 n_class): `balanced_weight` prints both per class, so a change concentrated in the smaller class is larger in balanced points (d48: 12 admit, 36 refuse).

| set | n | resampling unit | M-11 starting value | noise class | same-cell noise | pairs | discordant / paired | q | background each way | MDC (items) | MDC (~50 % power) | 95 % interval at the MDC | MDC at 80 % (approx.) |
|---|---:|---|---:|---|---|---:|---:|---:|---:|---:|---:|---|---:|
| c | 108 | dinner_id (16) | 0.09 | zero-noise floor (q = 0) | — | — | — | 0.000 | 0 | 4 | 0.037 | +0.009 to +0.069 | 0.056 |
| c | 108 | dinner_id (16) | 0.09 | Claude sampled rep | yes | 2 | 24 / 216 | 0.111 | 6 | 7 | 0.065 | +0.009 to +0.119 | 0.102 |
| c | 108 | dinner_id (16) | 0.09 | M-11's pair (two different rows) | NO | 1 | 14 / 108 | 0.130 | 7 | 11 | 0.102 | +0.017 to +0.183 | 0.148 |
| c | 108 | dinner_id (16) | 0.09 | local greedy re-run | yes | 3 | 0 / 324 | 0.000 | 0 | 4 | 0.037 | +0.009 to +0.069 | 0.056 |
| c | 108 | dinner_id (16) | 0.09 | same digest, another card (a bridge, S-7) | NO | 45 | 201 / 4860 | 0.041 | 2 | 4 | 0.037 | +0.009 to +0.071 | 0.056 |
| c | 108 | dinner_id (16) | 0.09 | shelf greedy-as-sent rep | yes | 1 | 21 / 108 | 0.194 | 10 | 10 | 0.093 | +0.025 to +0.171 | 0.139 |
| doorman48-letter | 48 | items | 0.15 | zero-noise floor (q = 0) | — | — | — | 0.000 | 0 | 4 | 0.083 | +0.021 to +0.167 | 0.125 |
| doorman48-letter | 48 | items | 0.15 | local greedy re-run | yes | 2 | 0 / 96 | 0.000 | 0 | 4 | 0.083 | +0.021 to +0.167 | 0.125 |
| doorman48-letter | 48 | items | 0.15 | same digest, another card (a bridge, S-7) | NO | 45 | 117 / 2160 | 0.054 | 1 | 6 | 0.125 | +0.021 to +0.229 | 0.188 |
| a | 63 | slug (42) | 0.15 | zero-noise floor (q = 0) | — | — | — | 0.000 | 0 | 4 | 0.063 | +0.015 to +0.129 | 0.095 |
| f40 | 40 | items | 0.15 | zero-noise floor (q = 0) | — | — | — | 0.000 | 0 | 4 | 0.100 | +0.025 to +0.200 | 0.150 |

**Two-class sets: what one item is worth** (§4.3 headlines balanced accuracy; the MDC above is raw): doorman48-letter — raw 2.1 points per item; balanced admit (12 items) 4.2 points, refuse (36 items) 1.4 points; a — raw 1.6 points per item; balanced no (21 items) 2.4 points, yes (42 items) 1.2 points; f40 — raw 2.5 points per item; balanced no (20 items) 2.5 points, yes (20 items) 2.5 points.

**The pairs** (each scored by parse_v2, joined on prompt_sha256; §4.2's paired bootstrap, seed 20260923, 10,000 resamples; the bridge pairs are listed in `mdc.json` → `pairs`, 90 of them):

| class | set | what | n paired | strict a | strict b | a only | b only | same strict choice | diff | 95 % interval | unit | McNemar p | pooled |
|---|---|---|---:|---:|---:|---:|---:|---:|---:|---|---|---:|---|
| local greedy re-run | c | laptop-reading-0 b-llama2-7b: the superseded run (superseded-b-llama2-7b-postureA-L04-20260923T1852Z) vs the re-run of record | 108 | 10 | 10 | 0 | 0 | 108 | +0.000 | +0.000 to +0.000 | clusters | 1.000 | yes |
| local greedy re-run | c | laptop-reading-0 b-vicuna-33b: the superseded run (superseded-b-vicuna-33b-memmax16g-20260923T1851Z) vs the re-run of record | 108 | 19 | 19 | 0 | 0 | 108 | +0.000 | +0.000 to +0.000 | clusters | 1.000 | yes |
| local greedy re-run | d | laptop-reading-0 b-vicuna-33b: the superseded run (superseded-b-vicuna-33b-memmax16g-20260923T1851Z) vs the re-run of record | 48 | 30 | 30 | 0 | 0 | 48 | +0.000 | +0.000 to +0.000 | items | 1.000 | yes |
| local greedy re-run | c | laptop-reading-0 k0a-gemma4-anchor-cd: the superseded run (superseded-k0a-gemma4-anchor-cd-memmax16g-20260923T1851Z) vs the re-run of record | 108 | 84 | 84 | 0 | 0 | 108 | +0.000 | +0.000 to +0.000 | clusters | 1.000 | yes |
| local greedy re-run | d | laptop-reading-0 k0a-gemma4-anchor-cd: the superseded run (superseded-k0a-gemma4-anchor-cd-memmax16g-20260923T1851Z) vs the re-run of record | 48 | 36 | 36 | 0 | 0 | 48 | +0.000 | +0.000 to +0.000 | items | 1.000 | yes |
| shelf greedy-as-sent rep | c | cloud-reading-0 gpt-oss--20b-cloud.c.think-True: pass 1 vs gpt-oss--20b-cloud.c.think-True.rep2 | 108 | 74 | 73 | 11 | 10 | 78 | +0.009 | -0.083 to +0.103 | clusters | 1.000 | yes |
| Claude sampled rep | c | anthropic-reading-0 claude-haiku-4-5.c: p1 vs p2 (the temperature repeat) | 108 | 82 | 80 | 13 | 11 | 77 | +0.019 | -0.034 to +0.067 | clusters | 0.839 | yes |
| Claude sampled rep | c | anthropic-reading-0 claude-opus-4-8.c: p1 vs p2 (the temperature repeat) | 108 | 101 | 101 | 0 | 0 | 108 | +0.000 | +0.000 to +0.000 | clusters | 1.000 | yes |
| M-11's pair (two different rows) | c | gpt-4-0613 (OpenAI) vs gemma4:26b bare tag 08ae7ec1 on the RTX 3090 (K0): M-11's two rows (panel/method_checks.py [2]); two different models, so NOT a same-cell noise | 108 | 88 | 88 | 7 | 7 | 91 | +0.000 | -0.056 to +0.056 | clusters | 1.000 | yes |

## 5 · The anchor's determinism repeat (PREREG-S0 §4.1)

**Verdict:** ABSENT: the registered repeat (sweep-priced.json's first cell, in_plan, run SYNC) has no row file under openai-reading-0/rows/ at this build; the anchor's determinism receipt does not exist yet, so gpt-4-0613's row carries 'determinism: not probed'.

- **The registered cell:** `openai-reading-0/receipts/sweep-priced.json` → `gpt-4-0613` c, in_plan True (the first cell of the anchor sweep; its rules text: "the six-way REPEAT on the anchor runs SYNC (it is the determinism receipt for the 88/108 already on file)").
- **What exists:** pass 1 only — `openai-reading-0/rows/gpt-4-0613.c.jsonl` (sha256 `19dd55171ef71ebe552c03564f4fbd2bce90f1bfa186e5cc90160c83ed14287c`, 108 rows, stamped 2026-09-23T16:00:44Z → 2026-09-23T16:03:59Z): temperature sent 0, seed 20260921, `x_system_fingerprint` None on every row (so backend drift on the anchor cannot be seen from the rows); strict under v2 88 / 108. Repeat files found: none.
- **Determinism evidence that does exist at reading 0** (§4): the local greedy re-runs of one digest on one card (identical on every item), the Claude temperature repeats, the shelf's rep 2 (a greedy cell: pass 1 is the score, the rep is its receipt), and the cross-card bridges below (PREREG-S0 §2.5 S-7: carried when item agreement >= 97 %). R-21's caveat on every Claude row: R-21's measured CLI agreement (a caveat on every Claude row, §4.1): claude-haiku-4-5's two default six-way runs (anthropic-reading-0/rows/claude-haiku-4-5.c.p1.jsonl and anthropic-reading-0/rows/claude-haiku-4-5.c.p2.jsonl) give the same strict choice on 77 of 108 paired items (71.3 %) and the same strict correctness on 84 (77.8 %); run.py's v1 choice, the lane's 'same harness choice': 79 (73.1 %); R-21 read 63.9 % of 72 items when the second run stood at 72.

The two local anchors' bridges (every other bridge is in `series/mdc.json`, 90 in all, 39 carried; a bridge that reads a held benchbox row says so):

| model | set | card a | card b | strict a | strict b | n | same class and choice | agreement | carried (>= 97 %) | reads a held row |
|---|---|---|---|---:|---:|---:|---:|---:|---|---|
| gemma4:26b-a4b-it-q4_K_M | c | rtx-3090 (withheld-2026-10-14) | rtx-5090-laptop (withheld-2026-10-14) | 88 | 84 | 108 | 102 | 94.4 % | no | no |
| gemma4:26b-a4b-it-q4_K_M | c | rtx-3090 (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 88 | 86 | 108 | 104 | 96.3 % | no | no |
| gemma4:26b-a4b-it-q4_K_M | c | rtx-5090-laptop (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 84 | 86 | 108 | 104 | 96.3 % | no | no |
| gemma4:26b-a4b-it-q4_K_M | d | rtx-3090 (withheld-2026-10-14) | rtx-5090-laptop (withheld-2026-10-14) | 35 | 36 | 48 | 47 | 97.9 % | yes | no |
| gemma4:26b-a4b-it-q4_K_M | d | rtx-3090 (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 35 | 35 | 48 | 48 | 100.0 % | yes | no |
| gemma4:26b-a4b-it-q4_K_M | d | rtx-5090-laptop (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 36 | 35 | 48 | 47 | 97.9 % | yes | no |
| mistral:v0.1 | c | rtx-3090 (withheld-2026-10-14) | rtx-5090-laptop (withheld-2026-10-14) | 10 | 10 | 108 | 107 | 99.1 % | yes | no |
| mistral:v0.1 | c | rtx-3090 (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 10 | 10 | 108 | 107 | 99.1 % | yes | no |
| mistral:v0.1 | c | rtx-5090-laptop (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 10 | 10 | 108 | 108 | 100.0 % | yes | no |
| mistral:v0.1 | d | rtx-3090 (withheld-2026-10-14) | rtx-5090-laptop (withheld-2026-10-14) | 0 | 0 | 48 | 48 | 100.0 % | yes | no |
| mistral:v0.1 | d | rtx-3090 (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 0 | 0 | 48 | 48 | 100.0 % | yes | no |
| mistral:v0.1 | d | rtx-5090-laptop (withheld-2026-10-14) | rtx-pro-6000 (withheld-2026-10-14) | 0 | 0 | 48 | 48 | 100.0 % | yes | no |

## 6 · The ★ per half actually used (A-11)

Rule: A-11: pins.json star_rule reading C — population: every row the roster lists for the half in the 24 GB class (★, family, alt); score: posture_matched.gpqa_diamond: the Epoch run matched to our utility posture; source: Epoch AI, 'The plunging price of thought' data: GPQA Diamond accuracy per model run (https://epoch.ai/publications/the-plunging-price-of-thought), read 2026-09-23T15:43:48Z; pins.json sha `fa0d88110117c4bae12cf97d120b6ce9c1389176f7f39b4b30016060952100e9`. The charts mark the ★ from the series column `star` (series/star.py), never from the recon's proposal; C5 draws the ★ curve and prints the best of all rows separately (§4.5).

| half | ★ | external score | effort | n samples | source | ★ headline rows read at reading 0 (card: strict, v2; posture) |
|---|---|---:|---|---:|---|---|
| 2023H1 | none — no ★: no external score in any pinned source (A-11) | — | — | — | — | — |
| 2023H2 | yi:34b-chat-q4_0 | 0.1474 | default | 3168 | recon/sources-economics/epoch-inference-cost/cost_truncated_curves.csv:9344 (first gpqa row of run WxMpEBcTf8qPFPz4BrF86B; column full_run_acc) | rtx-3090: 21/108 = 19.4 % (off); rtx-5090-laptop: 20/108 = 18.5 % (off) |
| 2024H1 | gemma2:27b-instruct-q4_K_M | 0.3649 | default | 3168 | recon/sources-economics/epoch-inference-cost/cost_truncated_curves.csv:10364 (first gpqa row of run ZUJxsJDpHnLXxNiDcvj22W; column full_run_acc) | rtx-3090: 73/108 = 67.6 % (off) |
| 2024H2 | phi4:14b-q4_K_M | 0.5606 | default | 3168 | recon/sources-economics/epoch-inference-cost/cost_truncated_curves.csv:11828 (first gpqa row of run RAwuPRwJedy7P2KeQhEmr8; column full_run_acc) | rtx-3090: 82/108 = 75.9 % (off; provisional); rtx-5090-laptop: 83/108 = 76.9 % (off; provisional) |
| 2025H1 | deepseek-r1:32b-qwen-distill-q4_K_M | 0.6414 | default | 1584 | recon/sources-economics/epoch-inference-cost/cost_truncated_curves.csv:8972 (first gpqa row of run dwyb2yzFewGT6w6oFdVMAc; column full_run_acc) | rtx-3090: 1/108 = 0.9 % (on; provisional) |
| 2025H2 | qwen3:30b-a3b-instruct-2507-q4_K_M | 0.5562 | default | 1584 | recon/sources-economics/epoch-inference-cost/cost_truncated_curves.csv:12008 (first gpqa row of run X3HfncZtnLKUPoUuRc9YsR; column full_run_acc) | rtx-3090: 69/108 = 63.9 % (off); rtx-5090-laptop: 70/108 = 64.8 % (off) |
| 2026H1 | qwen3.6:27b-q4_K_M | 0.8485 | none | 198 | recon/sources-economics/epoch-inference-cost/cost_truncated_curves.csv:12236 (first gpqa row of run WeP7Q27N5PzxSgg4ybgijX; column full_run_acc) | rtx-3090: 96/108 = 88.9 % (off); rtx-5090-laptop: 95/108 = 88.0 % (off) |
| 2026H2 | none — no ★: no external score in any pinned source (A-11) | — | — | — | — | — |

## 7 · Protocol verdicts (§6) and their capability rows

Found by the mechanical test (`series/posture.py`): cloud-reading-0 · gpt-oss:120b-cloud · c · think=false; cloud-reading-0 · gpt-oss:120b-cloud · d · think=false; cloud-reading-0 · gpt-oss:20b-cloud · c · think=false; cloud-reading-0 · gpt-oss:20b-cloud · d · think=false; cloud-reading-0 · minimax-m2.7:cloud · c · think=false; rtx-3090-reading-0 · deepseek-r1:32b-qwen-distill-q4_K_M · c · off; rtx-3090-reading-0 · deepseek-r1:32b-qwen-distill-q4_K_M · d · off; laptop-reading-0 · deepseek-r1:32b-qwen-distill-q4_K_M · c · off; laptop-reading-0 · deepseek-r1:32b-qwen-distill-q4_K_M · d · off. Named in protocol.json at the freeze: b-deepseek-r1-32b think-off on benchbox; its t-deepseek-r1-32b-on row is its capability row; gpt-oss (shelf); minimax-m2.7 (shelf); the local gpt-oss:20b calibration. A verdict's capability row is its group's utility-posture row under §2.3 as posture.py reads it.

- gpt-oss:120b-cloud on ollama.com, c (think=low): 83/108 strict = 76.9 % — capability row (§6): the utility posture of gpt-oss:120b-cloud, whose think=false row is the protocol's verdict (withheld-2026-10-14)
- gpt-oss:20b-cloud on ollama.com, c (think=low): 66/108 strict = 61.1 % — capability row (§6): the utility posture of gpt-oss:20b-cloud, whose think=false row is the protocol's verdict (withheld-2026-10-14)
- minimax-m2.7:cloud on ollama.com, c (think=true): 84/108 strict = 77.8 % — capability row (§6): the utility posture of minimax-m2.7:cloud, whose think=false row is the protocol's verdict (withheld-2026-10-14)
- deepseek-r1:32b-qwen-distill-q4_K_M on rtx-3090, c (on): 1/108 strict = 0.9 % — capability row (§6): the utility posture of deepseek-r1:32b-qwen-distill-q4_K_M, whose off row is the protocol's verdict (withheld-2026-10-14)
- gpt-oss:120b-cloud on ollama.com, d (think=true): 35/48 strict = 72.9 % — capability row (§6): the utility posture of gpt-oss:120b-cloud, whose think=false row is the protocol's verdict (withheld-2026-10-14)
- gpt-oss:20b-cloud on ollama.com, d (think=true): 30/48 strict = 62.5 % — capability row (§6): the utility posture of gpt-oss:20b-cloud, whose think=false row is the protocol's verdict (withheld-2026-10-14)
- deepseek-r1:32b-qwen-distill-q4_K_M on rtx-5090-laptop, c: a protocol verdict with no capability row on that backend in reading 0
- deepseek-r1:32b-qwen-distill-q4_K_M on rtx-3090, d: a protocol verdict with no capability row on that backend in reading 0
- deepseek-r1:32b-qwen-distill-q4_K_M on rtx-5090-laptop, d: a protocol verdict with no capability row on that backend in reading 0

## 8 · WHAT MOVED (git HEAD `7f4b4d83485b`'s series.json, last changed by commit `6b73f291` → this build)

At HEAD the series scored c and d with benchbox's `classify()` (v2-benchbox-1, applied to every backend) and a and f with each lane's own strict rule (v1-parsed and correct; Claude: a bare letter and correct), excluded rows by the lanes' artefact >= 50 % rule and headlined the lowest reasoning setting among the rest. Now every reply is parse_v2's (a reply outside the contract is a format failure, scored wrong), and the headline is §2.3 as posture.py reads it (§9). **8a** lists every (lane, card or provider, model, set) group whose headline figure differs from HEAD's — 81 groups: 10 with a figure on both sides, 68 that entered (no headline at HEAD), 3 that left — with every cause named. Causes: **parser** (the same file, HEAD's parser → parse_v2, item by item), **headline rule** (another row stands for the group now; the column *HEAD's row under v2* splits the move: HEAD's row under v2 − HEAD is the parser's part, now − HEAD's row under v2 the rule's), **reps** (§4.1), **row file** (the lane's file changed after HEAD's build), **entered** / **left**.

### 8a · Every headline figure that changed (numeric moves by size, then entered, then left)

| # | model | backend | set | HEAD headline (setting) | HEAD strict | HEAD % | HEAD's row under v2 | now headline (setting) | now strict | now % | Δ points | in series.jsonl | cause | detail |
|---:|---|---|---|---|---:|---:|---:|---|---:|---:|---:|---|---|---|
| 1 | deepseek-v4-pro:0813-cloud | ollama.com | c | deepseek-v4-pro:0813-cloud (think=false) | 66/108 | 61.1 % | 66/108 = 61.1 % | deepseek-v4-pro:0813-cloud (think=true) | 95/108 | 88.0 % | +26.9 | yes | headline rule | HEAD headlined think=false (the lowest setting after the lanes' artefact rule); now think=true: §2.3 'else its default': no setting on file parses on >= 19 of 20 (think=false parses 98 of 108 (90.7 %): undetermined; the full-pass proxy says fail; think=true parses 102 of 108 (94.4 %): undetermined; the full-pass proxy says …; the new headline is PROVISIONAL |
| 2 | nemotron-3-ultra:cloud | ollama.com | c | nemotron-3-ultra:cloud (think=false) | 68/108 | 63.0 % | 68/108 = 63.0 % | nemotron-3-ultra:cloud (think=true) | 91/108 | 84.3 % | +21.3 | yes | headline rule | HEAD headlined think=false (the lowest setting after the lanes' artefact rule); now think=true: §2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — think=true parses 103 of 108 (95.4 %): undetermined; the full-pass proxy says pass; lower settings: think=false parses 79 of 108 (73.1 %): undetermined; …; the new headline is PROVISIONAL |
| 3 | gpt-oss:20b-cloud | ollama.com | c | gpt-oss:20b-cloud (think=false, num_predict 1024) | 58/108 | 53.7 % | 58/108 = 53.7 % | gpt-oss:20b-cloud (think=low) | 66/108 | 61.1 % | +7.4 | yes | headline rule | HEAD headlined think=false, num_predict 1024 (the lowest setting after the lanes' artefact rule); that row is a num_predict budget variant, an R-11 panel row, never the utility posture (D-3); now think=low: §2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — think=low parses 108 of 108 (100.0 %): passes for any 20 items (at most 1 unparseable) |
| 4 | glm-5.1:cloud | ollama.com | c | glm-5.1:cloud (think=false) | 88/108 | 81.5 % | 88/108 = 81.5 % | glm-5.1:cloud (think=true) | 95/108 | 88.0 % | +6.5 | yes | headline rule | HEAD headlined think=false (the lowest setting after the lanes' artefact rule); now think=true: §2.3 'else its default': no setting on file parses on >= 19 of 20 (think=false parses 101 of 108 (93.5 %): undetermined; the full-pass proxy says fail; think=true parses 102 of 108 (94.4 %): undetermined; the full-pass proxy says …; the new headline is PROVISIONAL |
| 5 | gpt-oss:120b-cloud | ollama.com | d | gpt-oss:120b-cloud (think=false, num_predict 1024) | 37/48 | 77.1 % | 37/48 = 77.1 % | gpt-oss:120b-cloud (think=true) | 35/48 | 72.9 % | -4.2 | yes | headline rule | HEAD headlined think=false, num_predict 1024 (the lowest setting after the lanes' artefact rule); that row is a num_predict budget variant, an R-11 panel row, never the utility posture (D-3); now think=true: §2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — think=true parses 47 of 48 (97.9 %): passes for any 20 items (at most 1 unparseable) |
| 6 | gpt-oss:120b-cloud | ollama.com | c | gpt-oss:120b-cloud (think=false, num_predict 1024) | 87/108 | 80.6 % | 87/108 = 80.6 % | gpt-oss:120b-cloud (think=low) | 83/108 | 76.9 % | -3.7 | yes | headline rule | HEAD headlined think=false, num_predict 1024 (the lowest setting after the lanes' artefact rule); that row is a num_predict budget variant, an R-11 panel row, never the utility posture (D-3); now think=low: §2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — think=low parses 108 of 108 (100.0 %): passes for any 20 items (at most 1 unparseable) |
| 7 | claude-fable-5-1 | Anthropic | c | claude-fable-5-1 (default (no --effort flag; API default high; thinking Adaptive (always on))) | 91/108 | 84.3 % | — | claude-fable-5-1+fallback-off (default (no --effort flag; the CLI registry's default high; thinking Adaptive (always on)); R-21 refusal fallback OFF) | 95/108 | 88.0 % | +3.7 | yes | superseded row | HEAD's row is not a series row now: superseded: R-21's fallback-off re-read (claude-fable-5-1+fallback-off) replaces this stopped row (§9.2; protocol.json …; the group's row of record is claude-fable-5-1+fallback-off; its headline is PROVISIONAL (§2.3's Claude clause: posture: default (provisional) until the id's --effort low row lands (§9.2; protocol.json …) |
| 8 | deepseek-v4-flash:0731-cloud | ollama.com | d | deepseek-v4-flash:0731-cloud (think=false) | 32/48 | 66.7 % | 32/48 = 66.7 % | deepseek-v4-flash:0731-cloud (think=true) | 33/48 | 68.8 % | +2.1 | yes | headline rule | HEAD headlined think=false (the lowest setting after the lanes' artefact rule); now think=true: §2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — think=true parses 46 of 48 (95.8 %): undetermined; the full-pass proxy says pass; lower settings: think=false parses 45 of 48 (93.8 %): undetermined; the …; the new headline is PROVISIONAL |
| 9 | gpt-oss:20b-cloud | ollama.com | d | gpt-oss:20b-cloud (think=false, num_predict 1024) | 31/48 | 64.6 % | 31/48 = 64.6 % | gpt-oss:20b-cloud (think=true) | 30/48 | 62.5 % | -2.1 | yes | headline rule | HEAD headlined think=false, num_predict 1024 (the lowest setting after the lanes' artefact rule); that row is a num_predict budget variant, an R-11 panel row, never the utility posture (D-3); now think=true: §2.3 'else its default': no setting on file parses on >= 19 of 20 (think=true parses 40 of 48 (83.3 %): undetermined; the full-pass proxy says fail); this tag's default reasoning setting is not receipted (capabilities: …; the new headline is PROVISIONAL |
| 10 | claude-haiku-4-5 | Anthropic | c | claude-haiku-4-5+effort-low (effort low (--effort)) | 79/108 | 73.1 % | 83/108 = 76.9 % | claude-haiku-4-5 (default (no --effort flag; the CLI registry's default not supported; thinking Extended)) | 81/108 | 75.0 % | +1.9 | yes | headline rule, parser | HEAD headlined effort low (--effort) (the lowest setting after the lanes' artefact rule); now default (no --effort flag; the CLI registry's default not supported; thinking Extended): §2.3's Claude clause: the default row (the verdict rule: NO clear change; protocol.json utility_posture_rule.claude_registered_utility_rows); parses 87.0 % (information: the clause names the row, the probe does not choose it); HEAD's row under v2: 83/108 (4 x contradictory wrong -> clean right) |
| 11 | gemma4:26b-a4b-it-q4_K_M | rtx-pro-6000 | c | none | none | — | — | gemma4:26b-a4b-it-q4_K_M (off) | 86/108 | 79.6 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 12 | gemma4:26b-a4b-it-q4_K_M | rtx-pro-6000 | d | none | none | — | — | gemma4:26b-a4b-it-q4_K_M (off) | 35/48 | 72.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 13 | gpt-oss:20b | rtx-pro-6000 | c | none | none | — | — | gpt-oss:20b (low) | 66/108 | 61.1 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 14 | gpt-oss:20b | rtx-pro-6000 | d | none | none | — | — | gpt-oss:20b (low) | 29/48 | 60.4 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 15 | mistral-small3.2:24b-instruct-2506-q4_K_M | rtx-pro-6000 | c | none | none | — | — | mistral-small3.2:24b-instruct-2506-q4_K_M (off) | 74/108 | 68.5 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 16 | mistral-small3.2:24b-instruct-2506-q4_K_M | rtx-pro-6000 | d | none | none | — | — | mistral-small3.2:24b-instruct-2506-q4_K_M (off) | 24/48 | 50.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 17 | mistral:v0.1 | rtx-pro-6000 | c | none | none | — | — | mistral:v0.1 (off) | 10/108 | 9.3 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 18 | mistral:v0.1 | rtx-pro-6000 | d | none | none | — | — | mistral:v0.1 (off) | 0/48 | 0.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 19 | qwen3.5:35b-a3b-q4_K_M | rtx-pro-6000 | c | none | none | — | — | qwen3.5:35b-a3b-q4_K_M (off) | 82/108 | 75.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 20 | qwen3.5:35b-a3b-q4_K_M | rtx-pro-6000 | d | none | none | — | — | qwen3.5:35b-a3b-q4_K_M (off) | 35/48 | 72.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 21 | glm-5.3:cloud | ollama.com | f | none | none | — | — | glm-5.3:cloud (think=false) | 0/40 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (lane counts: 37 unparsed, 3 prose-first of 40); under v2 a format failure counts wrong (§6); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (think=false parses 0 of 40 (0.0 %): fails for any 20 …) |
| 22 | deepseek-r1:32b-qwen-distill-q4_K_M | rtx-3090 | c | none | none | — | — | deepseek-r1:32b-qwen-distill-q4_K_M (on) | 1/108 | 0.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (on parses 1 of 108 (0.9 %): fails for any 20 items …) |
| 23 | falcon:7b-instruct-q4_0 | rtx-3090 | c | none | none | — | — | falcon:7b-instruct-q4_0 (off) | 3/108 | 2.8 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (96 of 108 replies not letter-first (late_letter 80, unparsed 10, name_only 5, article_A 1)); under v2 a format failure counts wrong (§6) |
| 24 | falcon:7b-instruct-q4_0 | rtx-3090 | d | none | none | — | — | falcon:7b-instruct-q4_0 (off) | 1/48 | 2.1 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (47 of 48 replies not letter-first (json_verdict 24, unparsed 14, name_only 9)); under v2 a format failure counts wrong (§6) |
| 25 | gemma3:27b-it-q4_K_M | rtx-3090 | d | none | none | — | — | gemma3:27b-it-q4_K_M (off) | 21/48 | 43.8 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (26 of 48 replies not letter-first (json_verdict 24, unparsed 2)); under v2 a format failure counts wrong (§6) |
| 26 | gemma4:12b-it-q4_K_M | rtx-3090 | c | none | none | — | — | gemma4:12b-it-q4_K_M (off) | 33/108 | 30.6 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 38 of 108 (35.2 %): undetermined; the …) |
| 27 | gemma4:12b-it-q4_K_M | rtx-3090 | d | none | none | — | — | gemma4:12b-it-q4_K_M (off) | 35/48 | 72.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 45 of 48 (93.8 %): undetermined; the …) |
| 28 | gemma4:31b-it-q4_K_M | rtx-3090 | c | none | none | — | — | gemma4:31b-it-q4_K_M (off) | 94/108 | 87.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — off parses 104 of 108 (96.3 %): undetermined; …) |
| 29 | gemma4:31b-it-q4_K_M | rtx-3090 | d | none | none | — | — | gemma4:31b-it-q4_K_M (off) | 41/48 | 85.4 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 30 | glm-4.7-flash:q4_K_M | rtx-3090 | c | none | none | — | — | glm-4.7-flash:q4_K_M (off) | 44/108 | 40.7 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 31 | glm-4.7-flash:q4_K_M | rtx-3090 | d | none | none | — | — | glm-4.7-flash:q4_K_M (off) | 23/48 | 47.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 32 of 48 (66.7 %): undetermined; the …) |
| 32 | gpt-oss:20b | rtx-3090 | c | none | none | — | — | gpt-oss:20b (low) | 68/108 | 63.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 33 | gpt-oss:20b | rtx-3090 | d | none | none | — | — | gpt-oss:20b (low) | 29/48 | 60.4 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 34 | granite4.1:30b-q4_K_M | rtx-3090 | c | none | none | — | — | granite4.1:30b-q4_K_M (off) | 78/108 | 72.2 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 35 | granite4.1:30b-q4_K_M | rtx-3090 | d | none | none | — | — | granite4.1:30b-q4_K_M (off) | 38/48 | 79.2 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — off parses 46 of 48 (95.8 %): undetermined; …) |
| 36 | granite4:32b-a9b-h | rtx-3090 | c | none | none | — | — | granite4:32b-a9b-h (off) | 44/108 | 40.7 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 37 | granite4:32b-a9b-h | rtx-3090 | d | none | none | — | — | granite4:32b-a9b-h (off) | 15/48 | 31.2 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 38 | llama2:13b-chat-q4_K_M | rtx-3090 | c | none | none | — | — | llama2:13b-chat-q4_K_M (off) | 0/108 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (108 of 108 replies not letter-first (late_letter 107, unparsed 1)); under v2 a format failure counts wrong (§6) |
| 39 | llama2:7b-chat-q4_K_M | rtx-3090 | c | none | none | — | — | llama2:7b-chat-q4_K_M (off) | 8/108 | 7.4 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (55 of 108 replies not letter-first (unparsed 27, word_letter 21, late_letter 7)); under v2 a format failure counts wrong (§6) |
| 40 | llama2:7b-chat-q4_K_M | rtx-3090 | d | none | none | — | — | llama2:7b-chat-q4_K_M (off) | 5/48 | 10.4 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (37 of 48 replies not letter-first (json_verdict 20, unparsed 15, word_letter 2)); under v2 a format failure counts wrong (§6) |
| 41 | ministral-3:14b-instruct-2512-q4_K_M | rtx-3090 | c | none | none | — | — | ministral-3:14b-instruct-2512-q4_K_M (off) | 71/108 | 65.7 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 42 | ministral-3:14b-instruct-2512-q4_K_M | rtx-3090 | d | none | none | — | — | ministral-3:14b-instruct-2512-q4_K_M (off) | 17/48 | 35.4 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 43 | mistral-small:22b-instruct-2409-q4_K_M | rtx-3090 | c | none | none | — | — | mistral-small:22b-instruct-2409-q4_K_M (off) | 53/108 | 49.1 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 44 | mistral-small:22b-instruct-2409-q4_K_M | rtx-3090 | d | none | none | — | — | mistral-small:22b-instruct-2409-q4_K_M (off) | 30/48 | 62.5 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 45 | mistral:7b-instruct-v0.3-q4_K_M | rtx-3090 | d | none | none | — | — | mistral:7b-instruct-v0.3-q4_K_M (off) | 0/48 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (48 of 48 replies not letter-first (json_verdict 46, unparsed 2)); under v2 a format failure counts wrong (§6) |
| 46 | mistral:v0.1 | rtx-3090 | d | none | none | — | — | mistral:v0.1 (off) | 0/48 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (48 of 48 replies not letter-first (json_verdict 48)); under v2 a format failure counts wrong (§6) |
| 47 | olmo-3.1:32b-instruct-q4_K_M | rtx-3090 | c | none | none | — | — | olmo-3.1:32b-instruct-q4_K_M (off) | 61/108 | 56.5 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 48 | olmo-3.1:32b-instruct-q4_K_M | rtx-3090 | d | none | none | — | — | olmo-3.1:32b-instruct-q4_K_M (off) | 0/48 | 0.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 49 | phi4:14b-q4_K_M | rtx-3090 | d | none | none | — | — | phi4:14b-q4_K_M (off) | 0/48 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (48 of 48 replies not letter-first (unparsed 47, word_letter 1)); under v2 a format failure counts wrong (§6) |
| 50 | qwen3.5:27b-q4_K_M | rtx-3090 | c | none | none | — | — | qwen3.5:27b-q4_K_M (off) | 97/108 | 89.8 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 51 | qwen3.5:27b-q4_K_M | rtx-3090 | d | none | none | — | — | qwen3.5:27b-q4_K_M (off) | 47/48 | 97.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 52 | qwen3.6:27b-q4_K_M | rtx-3090 | c | none | none | — | — | qwen3.6:27b-q4_K_M (off) | 96/108 | 88.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 53 | qwen3.6:27b-q4_K_M | rtx-3090 | d | none | none | — | — | qwen3.6:27b-q4_K_M (off) | 31/48 | 64.6 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 54 | qwen3.8:27b-q4_K_M | rtx-3090 | c | none | none | — | — | qwen3.8:27b-q4_K_M (off) | 95/108 | 88.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 55 | qwen3.8:27b-q4_K_M | rtx-3090 | d | none | none | — | — | qwen3.8:27b-q4_K_M (off) | 9/48 | 18.8 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 9 of 48 (18.8 %): fails for any 20 items …) |
| 56 | qwen3:30b-a3b-instruct-2507-q4_K_M | rtx-3090 | c | none | none | — | — | qwen3:30b-a3b-instruct-2507-q4_K_M (off) | 69/108 | 63.9 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 57 | qwen3:30b-a3b-instruct-2507-q4_K_M | rtx-3090 | d | none | none | — | — | qwen3:30b-a3b-instruct-2507-q4_K_M (off) | 9/48 | 18.8 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 9 of 48 (18.8 %): fails for any 20 items …) |
| 58 | qwen3:30b-a3b-q4_K_M | rtx-3090 | d | none | none | — | — | qwen3:30b-a3b-q4_K_M (off) | 2/48 | 4.2 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (43 of 48 replies not letter-first (json_verdict 43)); under v2 a format failure counts wrong (§6); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 5 of 48 (10.4 %): fails for any 20 items …) |
| 59 | falcon:7b-instruct-q4_0 | rtx-5090-laptop | c | none | none | — | — | falcon:7b-instruct-q4_0 (off) | 3/108 | 2.8 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (97 of 108 replies not letter-first (late_letter 80, unparsed 10, name_only 6, article_A 1)); under v2 a format failure counts wrong (§6) |
| 60 | falcon:7b-instruct-q4_0 | rtx-5090-laptop | d | none | none | — | — | falcon:7b-instruct-q4_0 (off) | 1/48 | 2.1 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (47 of 48 replies not letter-first (json_verdict 26, name_only 10, unparsed 10, word_letter 1)); under v2 a format failure counts wrong (§6) |
| 61 | gemma3:27b-it-q4_K_M | rtx-5090-laptop | d | none | none | — | — | gemma3:27b-it-q4_K_M (off) | 18/48 | 37.5 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (30 of 48 replies not letter-first (json_verdict 27, unparsed 3)); under v2 a format failure counts wrong (§6) |
| 62 | gemma4:12b-it-q4_K_M | rtx-5090-laptop | c | none | none | — | — | gemma4:12b-it-q4_K_M (off) | 33/108 | 30.6 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (70 of 108 replies not letter-first (late_letter 70)); under v2 a format failure counts wrong (§6); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 38 of 108 (35.2 %): undetermined; the …) |
| 63 | gemma4:26b-a4b-it-q4_K_M | rtx-5090-laptop | c | none | none | — | — | gemma4:26b-a4b-it-q4_K_M (off) | 84/108 | 77.8 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 64 | gemma4:26b-a4b-it-q4_K_M | rtx-5090-laptop | d | none | none | — | — | gemma4:26b-a4b-it-q4_K_M (off) | 36/48 | 75.0 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 65 | granite4:32b-a9b-h | rtx-5090-laptop | d | none | none | — | — | granite4:32b-a9b-h (off) | 15/48 | 31.2 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (30 of 48 replies not letter-first (json_verdict 29, unparsed 1)); under v2 a format failure counts wrong (§6) |
| 66 | llama2:13b-chat-q4_K_M | rtx-5090-laptop | c | none | none | — | — | llama2:13b-chat-q4_K_M (off) | 0/108 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (108 of 108 replies not letter-first (late_letter 107, unparsed 1)); under v2 a format failure counts wrong (§6) |
| 67 | llama2:7b-chat-q4_K_M | rtx-5090-laptop | c | none | none | — | — | llama2:7b-chat-q4_K_M (off) | 10/108 | 9.3 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (54 of 108 replies not letter-first (word_letter 24, unparsed 22, late_letter 8)); under v2 a format failure counts wrong (§6) |
| 68 | llama2:7b-chat-q4_K_M | rtx-5090-laptop | d | none | none | — | — | llama2:7b-chat-q4_K_M (off) | 7/48 | 14.6 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (35 of 48 replies not letter-first (json_verdict 18, unparsed 16, word_letter 1)); under v2 a format failure counts wrong (§6) |
| 69 | mistral-small:22b-instruct-2409-q4_K_M | rtx-5090-laptop | c | none | none | — | — | mistral-small:22b-instruct-2409-q4_K_M (off) | 53/108 | 49.1 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 70 | mistral-small:22b-instruct-2409-q4_K_M | rtx-5090-laptop | d | none | none | — | — | mistral-small:22b-instruct-2409-q4_K_M (off) | 31/48 | 64.6 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 71 | mistral:v0.1 | rtx-5090-laptop | d | none | none | — | — | mistral:v0.1 (off) | 0/48 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (48 of 48 replies not letter-first (json_verdict 48)); under v2 a format failure counts wrong (§6) |
| 72 | olmo-3.1:32b-instruct-q4_K_M | rtx-5090-laptop | d | none | none | — | — | olmo-3.1:32b-instruct-q4_K_M (off) | 0/48 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (48 of 48 replies not letter-first (json_verdict 48)); under v2 a format failure counts wrong (§6) |
| 73 | phi4:14b-q4_K_M | rtx-5090-laptop | d | none | none | — | — | phi4:14b-q4_K_M (off) | 0/48 | 0.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (48 of 48 replies not letter-first (unparsed 47, word_letter 1)); under v2 a format failure counts wrong (§6) |
| 74 | qwen3.8:27b-q4_K_M | rtx-5090-laptop | d | none | none | — | — | qwen3.8:27b-q4_K_M (off) | 12/48 | 25.0 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (36 of 48 replies not letter-first (json_verdict 36)); under v2 a format failure counts wrong (§6); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 12 of 48 (25.0 %): fails for any 20 items …) |
| 75 | qwen3:30b-a3b-instruct-2507-q4_K_M | rtx-5090-laptop | d | none | none | — | — | qwen3:30b-a3b-instruct-2507-q4_K_M (off) | 6/48 | 12.5 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (42 of 48 replies not letter-first (json_verdict 42)); under v2 a format failure counts wrong (§6); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 6 of 48 (12.5 %): fails for any 20 items …) |
| 76 | qwen3:30b-a3b-q4_K_M | rtx-5090-laptop | d | none | none | — | — | qwen3:30b-a3b-q4_K_M (off) | 7/48 | 14.6 % | — | yes | entered | HEAD kept this row out by the lanes' artefact >= 50 % rule (40 of 48 replies not letter-first (json_verdict 40)); under v2 a format failure counts wrong (§6); the headline is PROVISIONAL (§2.3 'else its default': no setting on file parses on >= 19 of 20 (off parses 8 of 48 (16.7 %): fails for any 20 items …) |
| 77 | vicuna:33b-q4_0 | rtx-5090-laptop | c | none | none | — | — | vicuna:33b-q4_0 (off) | 19/108 | 17.6 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z); the headline is PROVISIONAL (§2.3: the lowest setting whose answer parses on >= 19 of 20 probe items — off parses 106 of 108 (98.1 %): undetermined; …) |
| 78 | vicuna:33b-q4_0 | rtx-5090-laptop | d | none | none | — | — | vicuna:33b-q4_0 (off) | 30/48 | 62.5 % | — | yes | entered | the row landed after HEAD's build (2026-09-23T22:00:02Z) |
| 79 | claude-opus-4-8 | Anthropic | d | claude-opus-4-8 (default (no --effort flag; API default high; thinking Adaptive)) | 35/48 | 72.9 % | — | none | none | — | — | — | left | now reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| 80 | claude-opus-5-5 | Anthropic | d | claude-opus-5-5 (default (no --effort flag; API default medium; thinking Adaptive (always on))) | 34/42 | 81.0 % | — | none | none | — | — | — | left | now reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| 81 | claude-sonnet-5 | Anthropic | d | claude-sonnet-5 (default (no --effort flag; API default high; thinking Adaptive)) | 27/48 | 56.2 % | — | none | none | — | — | — | left | now reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |

### 8b · Rows (headline or not) whose strict figure moved on the same file (11)

| # | model | backend | set | arm | setting | HEAD strict | HEAD % | now strict | now % | Δ points | headline at HEAD | headline now | why |
|---:|---|---|---|---|---|---:|---:|---:|---:|---:|---|---|---|
| 1 | glm-5.3:cloud | ollama.com | f | cloud-glm-5.3--cloud-np1024 | think=false, num_predict 1024 | 35/40 | 87.5 % | 0/40 | 0.0 % | -87.5 | no | no | items: 33 x lane strict (parsed) right -> late_letter wrong; 2 x lane strict (parsed) right -> name_only wrong |
| 2 | glm-5.3:cloud | ollama.com | a | cloud-glm-5.3--cloud-np1024 | think=false, num_predict 1024 | 54/63 | 85.7 % | 0/63 | 0.0 % | -85.7 | no | no | items: 54 x lane strict (parsed) right -> late_letter wrong |
| 3 | glm-5.3-flash:cloud | ollama.com | f | cloud-glm-5.3-flash--cloud-np1024 | think=false, num_predict 1024 | 34/40 | 85.0 % | 0/40 | 0.0 % | -85.0 | no | no | items: 34 x lane strict (parsed) right -> late_letter wrong |
| 4 | glm-5.3-flash:cloud | ollama.com | a | cloud-glm-5.3-flash--cloud-np1024 | think=false, num_predict 1024 | 49/63 | 77.8 % | 0/63 | 0.0 % | -77.8 | no | no | items: 49 x lane strict (parsed) right -> late_letter wrong |
| 5 | glm-5.3:cloud | ollama.com | f | cloud-glm-5.3--cloud | think=false | 2/40 | 5.0 % | 0/40 | 0.0 % | -5.0 | no | yes | items: 2 x lane strict (parsed) right -> word_letter wrong |
| 6 | claude-haiku-4-5 | Anthropic | c | claude-haiku-4-5 | default (no --effort flag; the CLI registry's default not supported; thinking Extended) | 76/108 | 70.4 % | 81/108 | 75.0 % | +4.6 | no | yes | the cell's score, §4.1: rep mean (p1 82, p2 80); items: 6 x contradictory wrong -> clean right |
| 7 | claude-haiku-4-5+effort-low | Anthropic | c | claude-haiku-4-5+effort-low | effort low (--effort) | 79/108 | 73.1 % | 83/108 | 76.9 % | +3.7 | yes | no | items: 4 x contradictory wrong -> clean right |
| 8 | claude-sonnet-4-5 | Anthropic | d | claude-sonnet-4-5 | default (no --effort flag; the CLI registry's default not supported; thinking Extended) | 6/24 | 25.0 % | 6/24 | — | — | no | no | no rate now: counts only: 24 of 48 items, kit order 0–23 (a pass covering < 100 % of its set, §4.1) |
| 9 | gemma4:26b-a4b-it-q4_K_M | rtx-5090-laptop | c | dry12-anchor-4096 | off | 14/20 | 70.0 % | 14/20 | — | — | no | no | no rate now: counts only: 20 of 108 items, kit order 0–19 (a pass covering < 100 % of its set, §4.1) |
| 10 | gemma4:26b-a4b-it-q4_K_M | rtx-5090-laptop | c | dry12-anchor-131072 | off | 14/20 | 70.0 % | 14/20 | — | — | no | no | no rate now: counts only: 20 of 108 items, kit order 0–19 (a pass covering < 100 % of its set, §4.1) |
| 11 | gemma4:26b-a4b-it-q4_K_M | rtx-5090-laptop | d | dry12-anchor-4096 | off | 13/20 | 65.0 % | 13/20 | — | — | no | no | no rate now: counts only: 20 of 48 items, kit order 0–19 (a pass covering < 100 % of its set, §4.1) |

### 8c · HEAD rows that now sit in another cell, another reading or no row (12)

| model | backend | set | row file | HEAD strict | HEAD % | now |
|---|---|---|---|---:|---:|---|
| claude-haiku-4-5 | Anthropic | c | `anthropic-reading-0/rows/claude-haiku-4-5.c.p2.jsonl` | 78/108 | 72.2 % | a pass of withheld-2026-10-14's cell (averaged into the score (pass 2; §4.1, a sampled cell)) |
| claude-opus-4-8 | Anthropic | c | `anthropic-reading-0/rows/claude-opus-4-8.c.p2.jsonl` | 101/108 | 93.5 % | a pass of withheld-2026-10-14's cell (averaged into the score (pass 2; §4.1, a sampled cell)) |
| claude-fable-5 | Anthropic | c | `anthropic-reading-0/rows/claude-fable-5.c.p1.jsonl` | 1/1 | 100.0 % | not a series row: superseded: R-21's fallback-off re-read (claude-fable-5+fallback-off) replaces this stopped row (§9.2; protocol.json utility_posture_rule.fable_default_row); it carried 2 items served by another … |
| claude-fable-5-1 | Anthropic | c | `anthropic-reading-0/rows/claude-fable-5-1.c.p1.jsonl` | 91/108 | 84.3 % | not a series row: superseded: R-21's fallback-off re-read (claude-fable-5-1+fallback-off) replaces this stopped row (§9.2; protocol.json utility_posture_rule.fable_default_row); it carried 0 items served by another … |
| gemma4:26b | rtx-3090 | c | `rtx-3090-reading-0/rows/dryrun-k0/dryrun-k0.c.jsonl` | 3/5 | 60.0 % | not a series row: never a cell: the benchbox dry run: not an arm line of benchbox queue.txt (sha d844bf2a…), which §9.2 names as the lane's cells; a dry run is never a cell |
| claude-sonnet-4-5 | Anthropic | d | `anthropic-reading-0/rows/claude-sonnet-4-5.d.p1.jsonl` | 6/24 | 25.0 % | reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| claude-haiku-4-5 | Anthropic | d | `anthropic-reading-0/rows/claude-haiku-4-5.d.p1.jsonl` | 12/48 | 25.0 % | reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| claude-opus-4-8 | Anthropic | d | `anthropic-reading-0/rows/claude-opus-4-8.d.p1.jsonl` | 35/48 | 72.9 % | reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| claude-sonnet-5 | Anthropic | d | `anthropic-reading-0/rows/claude-sonnet-5.d.p1.jsonl` | 27/48 | 56.2 % | reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| claude-fable-5-1 | Anthropic | d | `anthropic-reading-0/rows/claude-fable-5-1.d.p1.jsonl` | 0/0 | — | reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| claude-opus-5-5 | Anthropic | d | `anthropic-reading-0/rows/claude-opus-5-5.d.p1.jsonl` | 34/42 | 81.0 % | reading 0.1 (PREREG-S0.md:436 (§9.2, the Claude row): the Claude doorman, docent gate and field exam are NOT on the list (held)) |
| gemma4:26b | rtx-3090 | d | `rtx-3090-reading-0/rows/dryrun-k0/dryrun-k0.d.jsonl` | 5/5 | 100.0 % | not a series row: never a cell: the benchbox dry run: not an arm line of benchbox queue.txt (sha d844bf2a…), which §9.2 names as the lane's cells; a dry run is never a cell |

### 8d · run.py's v1 count → parse_v2 strict, on every reading-0 headline row where they differ (67 rows)

HEAD's series was already scored by a v2-like parser on c and d (benchbox's classify), so 8a's parser moves are few; the lanes' own reports print run.py's v1 count (§3.4: kept on every row for continuity), and this is how far each headline row moves from it. v1 = the first option letter anywhere, an unparsed reply scored as option 0; counts on the row's first pass (a sampled cell with reps shows its rep mean).

| # | model | backend | set | setting | v1 | v2 strict | n | Δ points | in series.jsonl | items that moved (class: v1 → v2) |
|---:|---|---|---|---|---:|---:|---:|---:|---|---|
| 1 | glm-5.3:cloud | ollama.com | f | think=false | 20 | 0 | 40 | -50.0 | yes | 18 x unparsed (v1 right, v2 wrong); 2 x word_letter (v1 right, v2 wrong) |
| 2 | gemma4:12b-it-q4_K_M | rtx-5090-laptop | c | off | 81 | 33 | 108 | -44.4 | yes | 48 x late_letter (v1 right, v2 wrong) |
| 3 | gemma4:12b-it-q4_K_M | rtx-3090 | c | off | 79 | 33 | 108 | -42.6 | yes | 46 x late_letter (v1 right, v2 wrong) |
| 4 | falcon:7b-instruct-q4_0 | rtx-5090-laptop | d | off | 13 | 1 | 48 | -25.0 | yes | 5 x json_verdict (v1 right, v2 wrong); 4 x name_only (v1 right, v2 wrong); 2 x unparsed (v1 right, v2 wrong); 1 x word_letter (v1 right, v2 wrong) |
| 5 | gemma3:27b-it-q4_K_M | rtx-5090-laptop | d | off | 30 | 18 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 6 | mistral:7b-instruct-v0.3-q4_K_M | rtx-3090 | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 7 | mistral:v0.1 | rtx-3090 | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 8 | mistral:v0.1 | rtx-5090-laptop | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 9 | mistral:v0.1 | rtx-pro-6000 | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 10 | olmo-3.1:32b-instruct-q4_K_M | rtx-3090 | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 11 | olmo-3.1:32b-instruct-q4_K_M | rtx-5090-laptop | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 12 | phi4:14b-q4_K_M | rtx-3090 | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x name_only (v1 right, v2 wrong) |
| 13 | phi4:14b-q4_K_M | rtx-5090-laptop | d | off | 12 | 0 | 48 | -25.0 | yes | 12 x name_only (v1 right, v2 wrong) |
| 14 | qwen3.8:27b-q4_K_M | rtx-3090 | d | off | 21 | 9 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 15 | qwen3.8:27b-q4_K_M | rtx-5090-laptop | d | off | 24 | 12 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 16 | qwen3:30b-a3b-instruct-2507-q4_K_M | rtx-3090 | d | off | 21 | 9 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 17 | qwen3:30b-a3b-instruct-2507-q4_K_M | rtx-5090-laptop | d | off | 18 | 6 | 48 | -25.0 | yes | 12 x json_verdict (v1 right, v2 wrong) |
| 18 | falcon:7b-instruct-q4_0 | rtx-3090 | d | off | 12 | 1 | 48 | -22.9 | yes | 5 x json_verdict (v1 right, v2 wrong); 3 x name_only (v1 right, v2 wrong); 3 x unparsed (v1 right, v2 wrong) |
| 19 | gemma3:27b-it-q4_K_M | rtx-3090 | d | off | 32 | 21 | 48 | -22.9 | yes | 11 x json_verdict (v1 right, v2 wrong) |
| 20 | qwen3:30b-a3b-q4_K_M | rtx-5090-laptop | d | off | 18 | 7 | 48 | -22.9 | yes | 11 x json_verdict (v1 right, v2 wrong) |
| 21 | falcon:7b-instruct-q4_0 | rtx-3090 | c | off | 25 | 3 | 108 | -20.4 | yes | 18 x late_letter (v1 right, v2 wrong); 3 x unparsed (v1 right, v2 wrong); 1 x name_only (v1 right, v2 wrong) |
| 22 | glm-5.3-flash:cloud | ollama.com | d | think=true | 34 | 25 | 48 | -18.8 | yes | 9 x json_verdict (v1 right, v2 wrong) |
| 23 | llama3.1:8b-instruct-q4_K_M | rtx-3090 | d | off | 32 | 23 | 48 | -18.8 | yes | 9 x json_verdict (v1 right, v2 wrong) |
| 24 | qwen3:30b-a3b-q4_K_M | rtx-3090 | d | off | 11 | 2 | 48 | -18.8 | yes | 9 x json_verdict (v1 right, v2 wrong) |
| 25 | falcon:7b-instruct-q4_0 | rtx-5090-laptop | c | off | 20 | 3 | 108 | -15.7 | yes | 13 x late_letter (v1 right, v2 wrong); 3 x unparsed (v1 right, v2 wrong); 1 x name_only (v1 right, v2 wrong) |
| 26 | kimi-k2.6:cloud | ollama.com | d | think=false | 37 | 31 | 48 | -12.5 | yes | 6 x json_verdict (v1 right, v2 wrong) |
| 27 | llama2:7b-chat-q4_K_M | rtx-3090 | d | off | 11 | 5 | 48 | -12.5 | yes | 6 x json_verdict (v1 right, v2 wrong) |
| 28 | llama2:7b-chat-q4_K_M | rtx-5090-laptop | d | off | 13 | 7 | 48 | -12.5 | yes | 6 x json_verdict (v1 right, v2 wrong) |
| 29 | vicuna:33b-q4_0 | rtx-3090 | d | off | 35 | 29 | 48 | -12.5 | yes | 6 x unparsed (v1 right, v2 wrong) |
| 30 | deepseek-v4.1-flash:cloud | ollama.com | d | think=false | 42 | 37 | 48 | -10.4 | yes | 5 x json_verdict (v1 right, v2 wrong) |
| 31 | granite4:32b-a9b-h | rtx-3090 | d | off | 20 | 15 | 48 | -10.4 | yes | 5 x json_verdict (v1 right, v2 wrong) |
| 32 | granite4:32b-a9b-h | rtx-5090-laptop | d | off | 20 | 15 | 48 | -10.4 | yes | 5 x json_verdict (v1 right, v2 wrong) |
| 33 | vicuna:33b-q4_0 | rtx-5090-laptop | d | off | 35 | 30 | 48 | -10.4 | yes | 5 x unparsed (v1 right, v2 wrong) |
| 34 | deepseek-r1:32b-qwen-distill-q4_K_M | rtx-3090 | c | on | 11 | 1 | 108 | -9.3 | yes | 9 x late_letter (v1 right, v2 wrong); 1 x budget_exhausted (v1 right, v2 wrong) |
| 35 | yi:34b-chat-q4_0 | rtx-5090-laptop | c | off | 30 | 20 | 108 | -9.3 | yes | 10 x late_letter (v1 right, v2 wrong) |
| 36 | llama2:13b-chat-q4_K_M | rtx-3090 | c | off | 9 | 0 | 108 | -8.3 | yes | 9 x late_letter (v1 right, v2 wrong) |
| 37 | claude-fable-5+fallback-off | Anthropic | c | default (no --effort flag; the CLI registry's default high; thinking Adaptive (always on)); R-21 refusal fallback OFF | 61 | 53 | 108 | -7.4 | yes | 8 x provider-refusal (v1 right, v2 wrong) |
| 38 | llama2:13b-chat-q4_K_M | rtx-5090-laptop | c | off | 8 | 0 | 108 | -7.4 | yes | 8 x late_letter (v1 right, v2 wrong) |
| 39 | llama2:7b-chat-q4_K_M | rtx-3090 | c | off | 16 | 8 | 108 | -7.4 | yes | 4 x unparsed (v1 right, v2 wrong); 3 x word_letter (v1 right, v2 wrong); 1 x late_letter (v1 right, v2 wrong) |
| 40 | yi:34b-chat-q4_0 | rtx-3090 | c | off | 29 | 21 | 108 | -7.4 | yes | 8 x late_letter (v1 right, v2 wrong) |
| 41 | glm-4.7-flash:q4_K_M | rtx-5090-laptop | d | off | 26 | 23 | 48 | -6.2 | yes | 3 x json_verdict (v1 right, v2 wrong) |
| 42 | mistral-large-3:675b-cloud | ollama.com | d | think=false | 46 | 43 | 48 | -6.2 | yes | 2 x json_verdict (v1 right, v2 wrong); 1 x name_only (v1 right, v2 wrong) |
| 43 | gemma4:31b-it-q4_K_M | rtx-5090-laptop | c | off | 98 | 93 | 108 | -4.6 | yes | 5 x late_letter (v1 right, v2 wrong) |
| 44 | glm-4.7-flash:q4_K_M | rtx-3090 | d | off | 25 | 23 | 48 | -4.2 | yes | 2 x json_verdict (v1 right, v2 wrong) |
| 45 | kimi-k2.7-code:cloud | ollama.com | d | think=false | 41 | 39 | 48 | -4.2 | yes | 2 x json_verdict (v1 right, v2 wrong) |
| 46 | llama2:13b-chat-q4_K_M | rtx-3090 | d | off | 22 | 20 | 48 | -4.2 | yes | 1 x word_letter (v1 right, v2 wrong); 1 x json_verdict (v1 right, v2 wrong) |
| 47 | llama2:13b-chat-q4_K_M | rtx-5090-laptop | d | off | 22 | 20 | 48 | -4.2 | yes | 1 x word_letter (v1 right, v2 wrong); 1 x json_verdict (v1 right, v2 wrong) |
| 48 | gemma4:31b-it-q4_K_M | rtx-3090 | c | off | 98 | 94 | 108 | -3.7 | yes | 4 x late_letter (v1 right, v2 wrong) |
| 49 | llama2:7b-chat-q4_K_M | rtx-5090-laptop | c | off | 14 | 10 | 108 | -3.7 | yes | 2 x unparsed (v1 right, v2 wrong); 2 x word_letter (v1 right, v2 wrong) |
| 50 | minimax-m2.7:cloud | ollama.com | c | think=true | 87 | 84 | 108 | -2.8 | yes | 3 x budget_exhausted (v1 right, v2 wrong) |
| 51 | glm-5.1:cloud | ollama.com | d | think=false | 40 | 39 | 48 | -2.1 | yes | 1 x json_verdict (v1 right, v2 wrong) |
| 52 | glm-5.3:cloud | ollama.com | d | think=true | 36 | 35 | 48 | -2.1 | yes | 1 x json_verdict (v1 right, v2 wrong) |
| 53 | gpt-oss:20b-cloud | ollama.com | d | think=true | 31 | 30 | 48 | -2.1 | yes | 1 x unparsed (v1 right, v2 wrong) |
| 54 | claude-haiku-4-5 | Anthropic | c | default (no --effort flag; the CLI registry's default not supported; thinking Extended) | 83 | 81 | 108 | -1.9 | yes | 2 x late_letter (v1 right, v2 wrong) |
| 55 | claude-sonnet-4-5 | Anthropic | c | default (no --effort flag; the CLI registry's default not supported; thinking Extended) | 99 | 97 | 108 | -1.9 | yes | 2 x late_letter (v1 right, v2 wrong) |
| 56 | deepseek-v4-pro:0813-cloud | ollama.com | c | think=true | 97 | 95 | 108 | -1.9 | yes | 2 x budget_exhausted (v1 right, v2 wrong) |
| 57 | gemma4:31b-cloud | ollama.com | c | think=false | 99 | 97 | 108 | -1.9 | yes | 2 x late_letter (v1 right, v2 wrong) |
| 58 | glm-5.1:cloud | ollama.com | c | think=true | 97 | 95 | 108 | -1.9 | yes | 2 x budget_exhausted (v1 right, v2 wrong) |
| 59 | glm-5.3:cloud | ollama.com | c | think=true | 96 | 94 | 108 | -1.9 | yes | 2 x budget_exhausted (v1 right, v2 wrong) |
| 60 | nemotron-3-super:cloud | ollama.com | c | think=true | 83 | 81 | 108 | -1.9 | yes | 2 x budget_exhausted (v1 right, v2 wrong) |
| 61 | claude-opus-4-6 | Anthropic | c | default (no --effort flag; the CLI registry's default high; thinking Adaptive (extended deprecated)) | 101 | 100 | 108 | -0.9 | yes | 1 x late_letter (v1 right, v2 wrong) |
| 62 | kimi-k2.6:cloud | ollama.com | c | think=false | 88 | 87 | 108 | -0.9 | yes | 1 x unparsed (v1 right, v2 wrong) |
| 63 | nemotron-3-ultra:cloud | ollama.com | c | think=true | 92 | 91 | 108 | -0.9 | yes | 1 x budget_exhausted (v1 right, v2 wrong) |
| 64 | phi4:14b-q4_K_M | rtx-3090 | c | off | 83 | 82 | 108 | -0.9 | yes | 1 x unparsed (v1 right, v2 wrong) |
| 65 | phi4:14b-q4_K_M | rtx-5090-laptop | c | off | 84 | 83 | 108 | -0.9 | yes | 1 x unparsed (v1 right, v2 wrong) |
| 66 | vicuna:33b-q4_0 | rtx-3090 | c | off | 18 | 17 | 108 | -0.9 | yes | 1 x contradictory (v1 right, v2 wrong) |
| 67 | vicuna:33b-q4_0 | rtx-5090-laptop | c | off | 20 | 19 | 108 | -0.9 | yes | 1 x contradictory (v1 right, v2 wrong) |

## 9 · §2.3's utility posture: what the ruling moves (M2)

posture.py reads §2.3's 20-item probe against the scored pass: *pass* (at most 1 unparseable item: every 20 items pass), *fail* (fewer than 19 parse: no 20 items can), else *undetermined*, settled by the proxy. Where no setting passes, 'else its default' is the tag's one setting when it has no reasoning control (capabilities without 'thinking'), else a stand-in (the highest parse share), provisional. The three readings the lead can rule (`--posture-proxy`): **full-pass** (this build) — the pass's own parse share >= 95 %; **first-20** — the first 20 items of the rate in kit order parse >= 19; **lowest-setting** — no test, the lowest setting (provisional under 95 %; the build before verification). Provisional reading-0 headlines, in series and held: full-pass 48, first-20 55, lowest-setting 75. The 9 groups whose headline differs between the readings:

| # | model | backend | set | full-pass (this build) | full-pass strict | first-20 | first-20 strict | lowest-setting | lowest-setting strict | in series.jsonl |
|---:|---|---|---|---|---:|---|---:|---|---:|---|
| 1 | deepseek-v4-flash:0731-cloud | ollama.com | d | think=true (prov.) | 33/48 = 68.8 % | think=true (prov.) | 33/48 = 68.8 % | think=false (prov.) | 32/48 = 66.7 % | yes |
| 2 | deepseek-v4-pro:0813-cloud | ollama.com | c | think=true (prov.) | 95/108 = 88.0 % | think=true (prov.) | 95/108 = 88.0 % | think=false (prov.) | 66/108 = 61.1 % | yes |
| 3 | glm-5.1:cloud | ollama.com | c | think=true (prov.) | 95/108 = 88.0 % | think=false (prov.) | 88/108 = 81.5 % | think=false (prov.) | 88/108 = 81.5 % | yes |
| 4 | glm-5.3-flash:cloud | ollama.com | c | think=true (prov.) | 92/108 = 85.2 % | think=true (prov.) | 92/108 = 85.2 % | think=false (prov.) | 0/108 = 0.0 % | yes |
| 5 | glm-5.3-flash:cloud | ollama.com | d | think=true (prov.) | 25/48 = 52.1 % | think=true (prov.) | 25/48 = 52.1 % | think=false (prov.) | 0/48 = 0.0 % | yes |
| 6 | glm-5.3:cloud | ollama.com | c | think=true (prov.) | 94/108 = 87.0 % | think=true (prov.) | 94/108 = 87.0 % | think=false (prov.) | 0/108 = 0.0 % | yes |
| 7 | glm-5.3:cloud | ollama.com | d | think=true (prov.) | 35/48 = 72.9 % | think=true (prov.) | 35/48 = 72.9 % | think=false (prov.) | 0/48 = 0.0 % | yes |
| 8 | nemotron-3-super:cloud | ollama.com | c | think=true (prov.) | 81/108 = 75.0 % | think=true (prov.) | 81/108 = 75.0 % | think=false (prov.) | 32/108 = 29.6 % | yes |
| 9 | nemotron-3-ultra:cloud | ollama.com | c | think=true (prov.) | 91/108 = 84.3 % | think=true (prov.) | 91/108 = 84.3 % | think=false (prov.) | 68/108 = 63.0 % | yes |

## 10 · Open points for the lead (each with its figure; none changes a rule)

1. **§2.3's posture needs a ruling (M2).** No 20-item probe ran (App. B (15) has no receipt), so the build reads §2.3 against the scored pass only as far as the pass decides it (posture.py: *pass* when at most 1 item is unparseable, *fail* when fewer than 19 parse, else *undetermined*), settles an undetermined test with the `full-pass` proxy, and where no setting passes and the tag's default is not receipted, stands in the setting with the highest parse share. Every such headline is flagged `posture_provisional` (48 of the 247 reading-0 headlines in the series; 0 of the 0 held benchbox headlines). Under the other readings the provisional counts are: full-pass 48, first-20 55, lowest-setting 75. §9 lists the 9 groups whose headline differs between the readings, with each one's figure: that is exactly what the ruling moves.
2. **The MDC construction needs a ruling (S4); the numbers in front of it (§4):** on the six-way the same-cell local re-runs agree on every item (q = 0), so the construction's MDC is 4 items = 3.7 % at ~50 % power and ≈ 5.6 % at 80 % (approximate); M-11's own form, the discordance between two different rows (gpt-4-0613 against the bare-tag gemma4 row, re-scored: 14 of 108 discordant), gives 10.2 % at ~50 % and ≈ 14.8 % at 80 %, where the PREREG's starting value is 0.09. The two-class sets' MDC is in raw accuracy while they headline balanced accuracy (§4.3): one doorman control item is worth 4.2 balanced points, one planted item 1.4.
3. **Registered cells without rows at this build (the lanes' state, `lane_status.py`):** anthropic-reading-0: claude-fable-5-1+effort-low.c.p1, claude-opus-4-7+effort-low.c.p1, claude-opus-5+effort-low.c.p1; rtx-pro-6000-reading-0: w-gpt-oss-120b-low-cd, w-llama2-70b-chat-cd, w-llama3-70b-cd, w-llama3.3-70b-cd, w-qwen2.5-72b-cd; cloud-reading-0: none; rtx-3090-reading-0: none; laptop-reading-0: none; openai-reading-0: gpt-4-0613 a (the anchor sweep), gpt-4-0613 c (the anchor sweep, the six-way repeat), gpt-4-0613 f (the anchor sweep), gpt-4-0613 j (the anchor sweep), gpt-4-turbo-2024-04-09 a (the anchor sweep), gpt-4-turbo-2024-04-09 f (the anchor sweep), gpt-4-turbo-2024-04-09 j (the anchor sweep), gpt-4o-2024-05-13 a (the anchor sweep), gpt-4o-2024-05-13 f (the anchor sweep), gpt-4o-2024-05-13 j (the anchor sweep), o1-2024-12-17 c (the anchor sweep, the six-way repeat), o1-2024-12-17 f (the anchor sweep), o3-mini-2025-01-31 a (the anchor sweep), o3-mini-2025-01-31 f (the anchor sweep), o3-mini-2025-01-31 j (the anchor sweep), o4-mini-2025-04-16 a (the anchor sweep), o4-mini-2025-04-16 f (the anchor sweep), o4-mini-2025-04-16 j (the anchor sweep).
4. **The anchor's determinism repeat is absent** (§5): ABSENT: the registered repeat (sweep-priced.json's first cell, in_plan, run SYNC) has no row file under openai-reading-0/rows/ at this build; the anchor's determinism receipt does not exist yet, so gpt-4-0613's row carries 'determinism: not probed'
5. **The 2025H1 ★ scores 1/108 strict on RTX 3090** (on; in the series): lenient 83, v1 11, classes {"budget_exhausted": 3, "clean": 1, "late_letter": 104}. The ★ is right by A-11; under v2 its think-on replies put the letter last (late_letter), a format failure; its headline is provisional (the default stand-in).
6. **The doorman letter set measures D-13's instruction conflict as much as the model.** 47 of the 87 reading-0 d48 headline rows in the series carry JSON verdicts (`json_verdict`, a format failure under v2); run.py's v1 scored every unparsed reply as option A = admit, which is right on the 12 controls (8d). B-doorman waits for doorman36-json (§5).
7. **"The cheaper Opus" (§9.2's temperature repeat) ran on claude-opus-4-8** ($5 / $25 per M tokens); claude-opus-5-5 lists $4 / $20 (`receipts/model-facts.json`). The series takes the lane's pick (cells.py) and its p2 joins opus-4-8's cell; ruled the other way, opus-4-8's p2 is reading 0.1 and no headline figure moves (its p1 and p2 are both 101 and 101).
8. **§6's 5 % stop, counted per model over all its pre-switch calls** (every pass and set; this reproduces §6's own 'fable-5-1 6 of 114, fable-5 2 of 3'): claude-fable-5 2 of 3 (66.7 %: over 5 %, under the floor of 20 calls); claude-fable-5-1 6 of 114 (5.3 %: over 5 %); claude-opus-5-5 6 of 372 (1.6 %: under 5 %). opus-5-5 is under 5 %: the first draft of these notes counted its doorman pass alone (6 of 48) and was wrong. Both Fables were stopped by the lane and re-read under R-21; their re-reads are their rows of record (§9.2).
9. **C4 departs from §4.4 on its denominator and resampling unit** (said in its caption): F is every closed-API headline row, not the F-closed panel (ids released within 180 days of the close), and the paired intervals resample items, not dinner clusters. Its numerator is now §4.4's population (★ and family rows; quant-axis rungs never). Both remaining cuts are `ratio.py`'s (owed).
10. **Rows with no receipted release date** (not drawn on a date axis): none.
11. **Pre-0 passes dropped by rule 1.1-a** (2): rows/openjev-fp8-generate.a (rule 1.1-a: refused: not a pass of a (rule 1.1-a: 0 row(s) whose prompt is not an item of a, 10 with no …); rows-addenda/gemma4-fp8-generate.a (rule 1.1-a: refused: not a pass of a (rule 1.1-a: 0 row(s) whose prompt is not an item of a, 10 with no …) — their refused-overlong items carry no `prompt_sha256`, so the pass cannot be joined to the kit (rule 1.1-b) or fingerprinted; the Jev a passes that do carry every prompt (base-generate, jev-generate) are in.
12. **Citing series.jsonl in A-05.** Every row stamps `prereg_sha`, and appending A-05 re-takes that sha (§9.4), so a rebuild after A-05 lands writes a different `series.jsonl` sha from the one A-05 cites (`902747cd084a2598…`). The build also prints `sha256_prereg_blanked` (`7841df3df154e486…`): the same lines with the stamp nulled, which does not move with an amendment. Cite both; a reader verifies A-05 against the committed file or the blanked sha.
13. **The Claude CLI version per row** is derived: `runtime_version` is the version in the last lane preflight at or before the pass's first row (protocol.json `backends.claude_cli.cli_version`: 2.1.280 until 2026-09-23T21:09:14Z, 2.1.281 after; W-1). The CLI binary's sha is not receipted.

