# Quant game-quality benchmark — Q6_K vs Q5_K_M (+ Q6 variance control) on the B70

Does the model quant change **agentic build quality**? Test: run the `agentic-arcade` teamwork games
(frogger + maze, team 6 / merge-top 2 / 15-min) on **AgentWorld-35B-A3B** at two quants, plus a **second
Q6 run** as a same-quant variance control.

- **Q5_K_M** (24.7 GB) and **Q6_K** (26.5 GB) both imatrix-quantized from the **same BF16 + same imatrix**
  → the only variable is bit-width.
- Identical serve config for all runs: moe-ready (fusion) build, `GGML_SYCL_DISABLE_DNN=1`, `-b 8192
  -ub 4096`, **q8_0 KV, c=131072, np=6**. (q8_0 KV used because the 26.5 GB Q6_K can't hold f16 KV at high
  context on the 32 GB B70 — see note.)
- Scoring: Claude source-review /50 (playability, not just jsdom) — every build here also passed jsdom +
  the playability assertions.

## Results

| build | frogger /50 | maze /50 | frogger notes | maze notes |
|---|:--:|:--:|---|---|
| **Q6_K run 1** | 34 | 40 | winnable, grid-hop, 15 KB | working shooter, functional exit, fully connected |
| **Q6_K run 2** | 35 | 40 | winnable, continuous+elaborate, 28 KB | working shooter, functional exit, connected |
| **Q5_K_M** | 34 | 40 | winnable, continuous, 19 KB | working shooter, functional exit, connected |

All six final builds are **functional and winnable** (mazes: player+enemies have real hitboxes → shooting
works, exit door advances the level, maze flood-fills connected; froggers: every river row has a floater,
real win path).

## Finding: quant does not move game quality — it's within stochastic noise

- **Inter-quant (Q6 vs Q5):** identical /50 band (frogger 34–35, maze 40).
- **Intra-quant (Q6 run 1 vs run 2):** *same* spread — the two Q6 froggers differ more in build detail
  (15 KB grid-hop vs 28 KB continuous; worker validity 6/6 vs 4/6) than Q6 differs from Q5.

The teamwork build is **stochastic per run**; the Q5↔Q6 fidelity gap is smaller than that run-to-run noise,
so the games cannot distinguish the two quants. This **empirically confirms** the quant recommendation:
**Q5_K_M holds generation quality as well as Q6_K**, so on the B70 you ship Q5 — it's ~4 GB smaller and,
unlike Q6, fits **f16 KV at full 262144 context** on the 32 GB card.

> **Deployment note (a concrete reason Q5 wins on the B70):** Q6_K is 26.5 GB; with f16 KV it can't hold
> useful context on a 32 GB card — this benchmark had to run **both** quants at q8_0 KV / c=131072 just so
> Q6 would fit. Q5_K_M (24.7 GB) serves f16 KV at the full 262144 context with headroom. (And q8_0 KV
> itself decodes far slower at depth on this SYCL backend — see `TURBO_VS_STOCK_B70.md` §4.)

## Reproduce
```bash
# quantize Q6_K from the same BF16+imatrix as the shipped Q5:
llama-quantize --imatrix agentworld-35b-a3b.imatrix agentworld-35b-a3b-bf16.gguf \
  agentworld-35b-a3b-Q6_K.gguf Q6_K 16
# then serve each quant (q8_0 KV c=131072 np6, ship -b/-ub, DISABLE_DNN) and run teamwork frogger+maze.
```
