Rung P — does it matter where in the sequence the payload is written?
Amendment 3's placement rung: five arms × 24 parameter sets × 10 seeds = 1,200 episodes. If the K/V channel works because the model's queries already attend to the site being written, then writing at real advice text should beat writing at a reserved placeholder. It does not — so site salience is eliminated and R1's configuration is locally optimal among everything the ladder tested.
What a reader should look for
The two injection sites, on the same ten games. The first two views below render an identical cell list — games where one site put the candidate on the table and the other did not — so opening them together reads as a three-way comparison of KV_place, KV_r1 and C_none at the same parameter set and seed. That is the rung's whole question in one place.
The opening offer, again. Tabling runs 60.4% (text), 14.2% (R1 site), 8.8% (real-text site), 0% (no advice) — the placement arm is the weaker of the two injection sites on exactly the act the effect runs through.
The two K/V arms and the no-advice control send the model a byte-identical prompt. Everything that differs is written straight into every layer's k_proj/v_proj output at 38 reserved positions, so scrolling the transcripts will not show you the intervention — you can only see what it did. That is what makes the side-by-side worth reading: same game, same seed, same words in, different behaviour out.
Malformed episodes. The formatting cost is real and is the reason for the fourth view below: the placement arm ends episodes malformed far more often than its own control, in games where the control is fine.
The arms
A_text- the candidate as ordinary prompt text — the ceiling, re-measured on this panel
KV_r1- rung R1's configuration re-run here: injection at the reserved placeholder site
KV_place- the placement arm — the same payload written at the positions of real advice text
KV_place_shuffled- the placement arm's isolation control: same site, mis-drawn deal
C_none- token-matched no-advice control
Per-arm rates
| Arm | Episodes | Normalized Nash welfare | Deal rate | Opening offer is the candidate | Malformed |
|---|---|---|---|---|---|
A_text | 240 | 0.3734 | 0.9833 | 0.6042 | 0.0083 |
KV_r1 | 240 | 0.2983 | 0.9292 | 0.1417 | 0.0833 |
KV_place | 240 | 0.2610 | 0.8417 | 0.0875 | 0.3500 |
KV_place_shuffled | 240 | 0.1887 | 0.8083 | 0.1250 | 0.4250 |
C_none | 240 | 0.1181 | 0.9292 | 0.0000 | 0.0500 |
Headline contrasts
| Contrast | Estimate [95% CI] | Pairs | Clusters |
|---|---|---|---|
| Placement injection vs no advice (primary) | +0.1429 [+0.1008, +0.1855] | 240 | 24 |
| Placement vs the R1 placeholder site | -0.0373 [-0.0723, -0.0029] | 240 | 24 |
| Placement vs shuffled content (isolation) | +0.0723 [+0.0277, +0.1165] | 240 | 24 |
| Placement vs the same package as prompt text | -0.1124 [-0.1667, -0.0608] | 240 | 24 |
| R1 site vs no advice (replication anchor) | +0.1802 [+0.1380, +0.2205] | 240 | 24 |
| Prompt text vs no advice (replication anchor) | +0.2553 [+0.2016, +0.3042] | 240 | 24 |
| Deal rate, placement vs no advice (safety) | -0.0875 [-0.1458, -0.0292] | 240 | 24 |
| Malformed episodes, placement vs no advice (safety) | +0.3000 [+0.2042, +0.4042] | 240 | 24 |
Paired on (parameter set, seed) so a difference is always between two episodes of the same game at the same seed; intervals resample whole parameter sets as clusters (10000 draws, base seed 20260804). Recomputed from the campaign's episode table by tom/qkv/build_qkv_paired_viewer.py and checked against the frozen results.json, not transcribed from it.
Open the paired transcripts
Each pair is the same game at the same seed under two arms, with the first behavioural divergence marked and both trajectories on one shared frontier. This panel holds 1200 episodes; these views render the pairs each strategy names, not all of them.
The full record
Full methodology, the preregistration, the gate verdicts and a 19-entry controls-catches ledger live in research note 0029 (experiments/rational_agents/research-notes/0029-qkv-attention-interface.md) in the project repository.