# Toll probe — closing the two-designs discrepancy (2026-08-21, ~10:2x–10:4xZ)

Question (RECON-A/C item 15): the 08-16 forensic measured the penalty toll at
2.570 ms/token (1.538x); the 08-21 cross-version A/B implied 1.564 ms/token
(1.32x). Which is "the" toll, and why do they differ? Candidate causes filed:
prompt length (1617 vs 68 tokens) and box load.

Method: gemma4:26b on the live runtime 0.32.13, /api/generate, temperature 0,
seed 0, think false, num_ctx 32768, num_predict 220, 1 warm-up per prompt then
scored calls, decode tok/s from the runtime's own counters, medians. Arms:
options-default (repeat_penalty absent = 1.0 since 0.32.10) vs explicit
repeat_penalty 1.1 (the pre-0.32.10 default). Residents: the five warm seats
(post-consolidation); no other GPU traffic observed.

## Cells — every raw sample inline

| prompt | ptok | default median (raw n samples) | rp-1.1 median (raw n samples) | ratio | toll ms/tok |
|---|---:|---|---|---:|---:|
| lighthouse short | 28 | 213.79 (n=4: 204.3, 214.2, 214.0, 213.6) | 140.00 (n=4: 137.4, 140.0, 140.0, 140.8) | 1.527x | 2.465 |
| lighthouse long | 2,335 | 209.45 (n=4: 204.3, 210.3, 209.0, 209.9) | 134.69 (n=4: 133.3, 134.8, 134.6, 134.7) | 1.555x | 2.650 |
| robber Q1 (the A/B's prompt) | 68-class | 213.66 (n=3: 213.6, 214.0, 213.7) | 139.76 (n=4: 135.6, 140.5, 139.7, 139.8) | 1.529x | 2.475 |

(Raw samples are the per-call decode rates in call order, rounded to one
decimal; medians computed at full precision before rounding.)

## Verdict

BOTH candidate causes REFUTED. The toll is ~2.5 ms/token regardless of prompt
length (28 vs 2,335 ptok: 2.465 vs 2.650) and across the two box states
measured — the 08-16 loaded-box wire (2.570: 1000/136.13 − 1000/209.37 =
2.5697) vs today's warm-resident card (2.475 on the same class of ask). No
idle-card cell exists; "loaded vs warm-resident" is the honest span. The
within-binary numbers agree across designs and days.

The cross-version A/B's smaller implied toll is now EXPLAINED, same-prompt:

- 0.32.9 at its default (rp 1.1): 154.09 (A/B arm, n=10)
- 0.32.13 forced to rp 1.1: 139.76 — the newer runtime does the penalty work
  ~9.3% SLOWER than 0.32.9 did (engine-consolidation window; see RECON-A on
  llama-server becoming the sole GGUF engine)
- 0.32.13 at its default (rp 1.0): 213.66 resident-warm today; 203.00 in the
  A/B's matched fresh-load posture (both arms keep_alive 5m — internally
  consistent; the ~5% fresh-load vs resident gap also matches RECON-B item 8's
  "unexplained 08-19 vs 08-21" flag, now with a candidate cause ON RECORD but
  not separately measured)

So the cross-version +31.7% NETS a ~-9% penalty-path regression against a
~+53% default-flip gain. The pure toll of the penalty work on today's runtime
is ~2.5 ms/token; the A/B never measured that toll in isolation and its
implied 1.564 was an artifact of conflating the two effects.

Every raw sample now appears inline in the cells table above. Probe method:
identical to leg2b_ab.py's call shape (temperature 0, seed 0, think false,
num_ctx 32768, num_predict 220/200) minus host/scratch plumbing; one warm-up
per prompt before scoring. NOTE on the fourth toll value quoted beside these
three (the 08-16 toggle, 2.570 ms/tok): that replay ran at the model's own
default temperature, not temperature 0 — its receipt is the sealed-wire
byte-identity, not seed determinism.
