| Round 2: check the drafted tokens in row batches | Decode over three texts +12.4%, copy-heavy +10.1%, decode while busy +11%. The generated text is identical in all 21 cases. | Kept |
| Round 2: draft-head catch-up as one matrix multiply per 64 tokens | Prompt cases +2.0% on average. Catch-up fell from 4.5% to 2.6% of a prompt. Text identical. | Kept |
| Round 1: save each prompt checkpoint as one block of graphics memory | Cold 8.8k: 773 to 981 t/s. Cold 17.7k: 694 to 890 t/s. Allocations 2,628 to 36. | Kept |
| Round 1: let a short prompt go ahead of the other request's decoding | 4k while busy: 320 to 701 t/s. Price: the other request pauses for about 5.4 s. | Kept |
| Round 1: lock the host pages the graphics side maps | Evictions in a whole bench run: 0.2 s, against 6.1 and 10.6 s. | Kept |
| Round 1: packed attention tiles, only beyond 16,384 tokens | 32k prompt: 966 to 1,068 t/s. 16k unchanged. The only change that alters numerics. | Kept |
| Round 1: fix queue priority for tiny follow-up prompts | A 21-token prompt had waited 2.5 s behind another request. | Kept |
| Move draft-head work behind the first token | First token on a cold 8.8k prompt 4.6% sooner, and it passed its bars. But the first answer on a fresh 28k conversation then differs from the cached repeats of the same request. | Built, held back |
| Let the draft copy from the prompt | Copy-heavy output +23%. But decode over three texts fell 4.1%, and the text changed where the thinking budget closes. | Built, held back |
| Round 2: packed attention tiles from 8,192 tokens | +6.2% at 16k. It failed the accuracy rule at 12,288, on a stretch of text both engines read badly; the re-run gave no verdict. | Dropped |
| Round 2: a second attention kernel with batched loads | One row +4.5% (bar +5%); several rows 3.7% slower at 28.7k and 5.7% slower at 1k. | Dropped |
| Round 2: write accepted draft rows in one batch | +0.9%, against a bar of +1.5%. | Dropped |
| Round 2: price each draft row live, or from a table measured at depth | +1.2% and -0.6%, against a bar of +3%. | Dropped |
| Round 1: grow prompt chunks while another request decodes | 4k while busy: +10% (we wanted +50%), and busy decoding fell from 38.6 to 13.0 t/s. | Dropped |
| Round 1: split a prompt into equal-sized calls | Cold 8.8k got 3% slower. | Dropped |
| Round 1: group small graphics buffers in an arena | Only 0.19 GiB saved (we expected 3.0), and cached 4k got 15% slower. | Dropped |
| Round 1: packed attention tiles at every length | 32k: +14.7%, but accuracy moved at 8k beyond our limit. | Dropped |
| Close the thinking budget at a token count, not at the end of a draft round | No measurement yet. It should make the text independent of the drafting again, which is the gate for the two held-back changes. | Next |
| Attention on long prompts | The row we lose by most. At 32k, selecting and attending is 8.7 s of a 30.7 s prompt. | Next |
| Memory below 75 GiB | No clean trade found. It means fewer checkpoints or less context: a decision, not a fix. | Next |