OUTPUT of run 19 of at most 60:
```
=== NORM-PRESERVING PARAMETER FACTORISATION ===
For any vector x, ||R W_A x|| = ||W_A x|| when R.T R = I.
No x is supplied and no hidden-state norm is computed.
Rotations act on raw Q/K matrices BEFORE their learned norm diagonals.
This is a decomposition of parameter differences, not a model run.
Reported norm ratios need not sum to one.
Shared K: orthogonality error, rotation-change/full-change, remainder/full-change:
(6.144841061322287e-14, 0.48475937872018976, 0.8747064028103242)
Q head 0: (5.6266518400556524e-14, 0.46280877136029197, 0.8865233725252302)
Q head 1: (5.67608393762694e-14, 0.4461182605054895, 0.8949119690698932)
Q head 2: (5.639699849368889e-14, 0.4552392333913632, 0.8904765364466616)
Q head 3: (6.16698651693114e-14, 0.45143483064188156, 0.8923200221240898)

=== CATEGORY-CONTRAST COEFFICIENTS ===
Each pair: newline/model query anchors, averaged over positional rotations.
full = rotation + remainder exactly, up to floating-point error.
The rotation preserves Q/K pre-normalisation norms algebraically;
these coefficients still do NOT apply any normalisation or softmax.
H geo family | full | rotation-only | remainder
0 raw  colors     | -0.001834/+0.0005718 | -0.0003683/+5.301e-05 | -0.001466/+0.0005188
0 raw  regions    | -7.182e-05/+0.0003885 | +0.0001544/+2.525e-05 | -0.0002262/+0.0003632
0 raw  cities     | +0.001955/+0.000109 | +0.0004852/+5.856e-05 | +0.00147/+5.04e-05
0 raw  languages  | -0.002603/-0.0004363 | -0.0004538/-2.434e-05 | -0.00215/-0.000412
0 diag colors     | -0.2151/+0.1151 | +0.05431/+0.03544 | -0.2694/+0.07969
0 diag regions    | +0.9085/-0.2969 | +0.3318/-0.1149 | +0.5767/-0.182
0 diag cities     | +0.8441/-0.07904 | +0.239/-0.08341 | +0.6051/+0.004375
0 diag languages  | -1.555/-0.4103 | -0.3107/-0.1054 | -1.244/-0.3049
1 raw  colors     | -0.0004532/-0.0009377 | -0.0002295/-0.0001518 | -0.0002237/-0.0007859
1 raw  regions    | -0.0005264/+0.0006463 | -6e-05/+0.0002261 | -0.0004664/+0.0004202
1 raw  cities     | +6.442e-05/+0.001945 | +2.015e-05/+0.0002987 | +4.427e-05/+0.001646
1 raw  languages  | +0.0001106/+0.0001296 | -1.102e-05/-6.744e-05 | +0.0001216/+0.000197
1 diag colors     | -0.1613/-1.055 | -0.1805/-0.1946 | +0.01921/-0.86
1 diag regions    | -0.2549/+0.2392 | -0.08539/+0.03462 | -0.1695/+0.2046
1 diag cities     | +0.3667/+1.83 | +0.008466/+0.2272 | +0.3582/+1.603
1 diag languages  | +0.09633/-0.328 | -0.1087/-0.2384 | +0.205/-0.08957
2 raw  colors     | +0.0009817/-0.00155 | +8.725e-05/-0.000265 | +0.0008945/-0.001285
2 raw  regions    | +0.001238/-0.0009117 | +0.0004092/-0.000108 | +0.0008287/-0.0008038
2 raw  cities     | -0.0003271/+0.0001862 | -0.0001804/+0.000129 | -0.0001467/+5.727e-05
2 raw  languages  | -5.52e-05/-0.001599 | -0.0001018/-0.000227 | +4.659e-05/-0.001372
2 diag colors     | +1.631/-1.311 | +0.07588/-0.07527 | +1.555/-1.236
2 diag regions    | +1.062/-1.183 | +0.3249/+0.0555 | +0.7375/-1.239
2 diag cities     | -0.1149/-0.1908 | -0.05663/+0.1828 | -0.05826/-0.3736
2 diag languages  | +0.3041/-0.9823 | -0.1796/-0.1775 | +0.4837/-0.8048
3 raw  colors     | -0.001119/-0.001057 | -0.0001365/-8.532e-05 | -0.0009825/-0.000972
3 raw  regions    | -0.001564/-0.001824 | -0.0003161/-0.0003196 | -0.001248/-0.001504
3 raw  cities     | -0.0003216/-0.0005888 | -0.0001217/-0.0001249 | -0.0001999/-0.0004638
3 raw  languages  | -0.001275/-0.0002765 | +4.277e-05/+5.235e-05 | -0.001318/-0.0003288
3 diag colors     | -0.8003/-1.354 | -0.2381/-0.2183 | -0.5622/-1.136
3 diag regions    | -1.055/-2.185 | -0.2616/-0.3194 | -0.7936/-1.866
3 diag cities     | -0.3318/-0.4388 | -0.1482/-0.1323 | -0.1836/-0.3065
3 diag languages  | -0.5096/-0.1475 | -0.03557/-0.08156 | -0.474/-0.06592

Maximum projected decomposition discrepancy: 1.983115968983845e-15

=== H0:3 ROTATION DETAIL ===
raw colors
 newline: full negative=7/8; rotation negative=7/8; key-only mean=-0.000133, query-only mean=-3.7165e-06; rotation label-coeff negative fraction=0.875, entity-coeff positive fraction=0.275
 model: full negative=8/8; rotation negative=7/8; key-only mean=-7.3511e-05, query-only mean=-1.1633e-05; rotation label-coeff negative fraction=0.844, entity-coeff positive fraction=0.275
raw regions
 newline: full negative=7/8; rotation negative=6/8; key-only mean=-0.00037882, query-only mean=+6.3896e-05; rotation label-coeff negative fraction=0.688, entity-coeff positive fraction=0.514
 model: full negative=8/8; rotation negative=8/8; key-only mean=-0.00025917, query-only mean=-6.0294e-05; rotation label-coeff negative fraction=0.646, entity-coeff positive fraction=0.799
raw cities
 newline: full negative=6/8; rotation negative=6/8; key-only mean=-0.00013853, query-only mean=+1.7584e-05; rotation label-coeff negative fraction=0.596, entity-coeff positive fraction=0.514
 model: full negative=8/8; rotation negative=8/8; key-only mean=-0.00013285, query-only mean=+7.8577e-06; rotation label-coeff negative fraction=0.317, entity-coeff positive fraction=0.799
raw languages
 newline: full negative=8/8; rotation negative=3/8; key-only mean=+8.7025e-05, query-only mean=-4.4003e-05; rotation label-coeff negative fraction=0.438, entity-coeff positive fraction=0.514
 model: full negative=7/8; rotation negative=2/8; key-only mean=+6.0613e-05, query-only mean=-8.0526e-06; rotation label-coeff negative fraction=0.138, entity-coeff positive fraction=0.799
diag colors
 newline: full negative=8/8; rotation negative=8/8; key-only mean=-0.192, query-only mean=-0.046771; rotation label-coeff negative fraction=1.000, entity-coeff positive fraction=0.175
 model: full negative=8/8; rotation negative=8/8; key-only mean=-0.17504, query-only mean=-0.043652; rotation label-coeff negative fraction=0.984, entity-coeff positive fraction=0.350
diag regions
 newline: full negative=8/8; rotation negative=8/8; key-only mean=-0.29461, query-only mean=+0.03331; rotation label-coeff negative fraction=0.750, entity-coeff positive fraction=0.569
 model: full negative=8/8; rotation negative=8/8; key-only mean=-0.28739, query-only mean=-0.032106; rotation label-coeff negative fraction=0.688, entity-coeff positive fraction=0.771
diag cities
 newline: full negative=8/8; rotation negative=8/8; key-only mean=-0.12537, query-only mean=-0.022296; rotation label-coeff negative fraction=0.654, entity-coeff positive fraction=0.569
 model: full negative=7/8; rotation negative=8/8; key-only mean=-0.12532, query-only mean=-0.006952; rotation label-coeff negative fraction=0.471, entity-coeff positive fraction=0.771
diag languages
 newline: full negative=7/8; rotation negative=7/8; key-only mean=-0.0062445, query-only mean=-0.029087; rotation label-coeff negative fraction=0.550, entity-coeff positive fraction=0.569
 model: full negative=6/8; rotation negative=8/8; key-only mean=-0.022826, query-only mean=-0.058663; rotation label-coeff negative fraction=0.375, entity-coeff positive fraction=0.771

```