=== NORMALISATION-GAIN SWITCH HYPOTHESIS ===
Effective learned gains are read as 1 + stored norm weights.
No hidden states, RMS denominators, activations, or logits are computed.
Task-associated contrast-subspace rank: 42

Total changed norm-gain entries: 1026
Vectors containing changes: 77 / 109
Zero/nonzero or sign-switch events: 0

=== ALL SWITCH EVENTS ===
None.

=== LARGEST FRACTIONAL GAIN CHANGES ===
name | changed / zero-switch / sign-flip counts | max fractional change | max absolute change | isolated-vector L2 bound
model.layers.7.pre_feedforward_layernorm.weight                   |  15/0/0 | 0.0027624 | 0.0019531 | 0.049411
model.layers.8.post_attention_layernorm.weight                    |   5/0/0 | 0.0012821 | 0.00097656 | 0.024705
model.layers.14.input_layernorm.weight                            |  20/0/0 | 0.0012755 | 0.00097656 | 0.024705
model.layers.15.pre_feedforward_layernorm.weight                  |  33/0/0 | 0.0012642 | 0.00097656 | 0.024705
model.layers.2.post_attention_layernorm.weight                    |  43/0/0 | 0.0012594 | 0.00097656 | 0.024705
model.layers.9.pre_feedforward_layernorm.weight                   |  18/0/0 | 0.0012563 | 0.00097656 | 0.024705
model.layers.17.self_attn.q_norm.weight                           |   9/0/0 | 0.0012484 | 0.00097656 | 0.015625
model.layers.0.post_feedforward_layernorm.weight                  |  94/0/0 | 0.0012285 | 0.00097656 | 0.024705
model.layers.17.pre_feedforward_layernorm.weight                  |  24/0/0 | 0.0012285 | 0.00097656 | 0.024705
model.layers.4.self_attn.k_norm.weight                            |  14/0/0 | 0.0012255 | 0.00097656 | 0.015625
model.layers.10.self_attn.q_norm.weight                           |  17/0/0 | 0.0012165 | 0.00097656 | 0.015625
model.layers.15.self_attn.q_norm.weight                           |  15/0/0 | 0.0012165 | 0.00097656 | 0.015625
model.layers.3.post_attention_layernorm.weight                    |  15/0/0 | 0.0012151 | 0.00097656 | 0.024705
model.layers.4.pre_feedforward_layernorm.weight                   |  11/0/0 | 0.0012151 | 0.00097656 | 0.024705
model.layers.14.pre_feedforward_layernorm.weight                  |  80/0/0 | 0.0012107 | 0.00097656 | 0.024705
model.layers.1.post_feedforward_layernorm.weight                  |  40/0/0 | 0.0012005 | 0.00097656 | 0.024705
model.layers.3.self_attn.q_norm.weight                            |  12/0/0 | 0.001199 | 0.00097656 | 0.015625
model.layers.4.self_attn.q_norm.weight                            |  21/0/0 | 0.0011862 | 0.00097656 | 0.015625
model.layers.12.pre_feedforward_layernorm.weight                  |  24/0/0 | 0.0011834 | 0.00097656 | 0.024705
model.layers.14.self_attn.q_norm.weight                           |  11/0/0 | 0.0011834 | 0.00097656 | 0.015625

=== NORM-ONLY CONTRIBUTIONS TO INCIDENT WEIGHT-PRODUCT DIFFERENCES ===
Ratios are ||norm-only term|| / ||full product difference||.
They are not fractions of behavioural effect; other terms can cancel.
Task projection is on the indicated input/output coordinate side.
model.layers.2.post_attention_layernorm.weight                    all=0.011383 task=0.012461 (output); absolute=0.14613, task_absolute=0.03243
model.layers.3.self_attn.q_norm.weight                            all=0.012347 task=0.010133 (input); absolute=0.12563, task_absolute=0.039696
model.layers.6.self_attn.q_norm.weight                            all=0.0080037 task=0.0081486 (input); absolute=0.077155, task_absolute=0.021033
model.layers.4.self_attn.q_norm.weight                            all=0.0080549 task=0.0076498 (input); absolute=0.15439, task_absolute=0.046021
model.layers.10.self_attn.q_norm.weight                           all=0.007995 task=0.0074905 (input); absolute=0.082979, task_absolute=0.021088
model.layers.0.post_attention_layernorm.weight                    all=0.0063653 task=0.0073945 (output); absolute=0.036306, task_absolute=0.0093189
model.layers.6.self_attn.k_norm.weight                            all=0.0082504 task=0.0069494 (input); absolute=0.055026, task_absolute=0.01381
model.layers.13.self_attn.k_norm.weight                           all=0.0082795 task=0.0066967 (input); absolute=0.042348, task_absolute=0.0091461
model.layers.3.post_attention_layernorm.weight                    all=0.0061555 task=0.0066725 (output); absolute=0.17044, task_absolute=0.042133
model.layers.4.self_attn.k_norm.weight                            all=0.0066099 task=0.0066065 (input); absolute=0.093943, task_absolute=0.027018
model.layers.1.post_attention_layernorm.weight                    all=0.0054619 task=0.0065763 (output); absolute=0.17419, task_absolute=0.04122
model.layers.8.self_attn.k_norm.weight                            all=0.0073312 task=0.0061336 (input); absolute=0.044555, task_absolute=0.010446
model.layers.9.self_attn.q_norm.weight                            all=0.0064441 task=0.0061315 (input); absolute=0.06347, task_absolute=0.017046
model.layers.9.self_attn.k_norm.weight                            all=0.0063619 task=0.0060406 (input); absolute=0.036929, task_absolute=0.01001
model.layers.8.self_attn.q_norm.weight                            all=0.0058713 task=0.0059168 (input); absolute=0.063192, task_absolute=0.01756
model.layers.6.post_attention_layernorm.weight                    all=0.0048758 task=0.005774 (output); absolute=0.1298, task_absolute=0.035126
model.layers.7.self_attn.q_norm.weight                            all=0.006104 task=0.0056759 (input); absolute=0.064832, task_absolute=0.017137
model.layers.15.self_attn.q_norm.weight                           all=0.0054625 task=0.0053799 (input); absolute=0.11797, task_absolute=0.029716
model.layers.5.post_attention_layernorm.weight                    all=0.0038114 task=0.0053105 (output); absolute=0.24543, task_absolute=0.061679
model.layers.13.self_attn.q_norm.weight                           all=0.0050229 task=0.0047434 (input); absolute=0.041133, task_absolute=0.010382
model.layers.16.self_attn.q_norm.weight                           all=0.0046793 task=0.0045676 (input); absolute=0.083869, task_absolute=0.021817
model.layers.2.post_feedforward_layernorm.weight                  all=0.0036445 task=0.0045058 (output); absolute=0.18071, task_absolute=0.051495
model.layers.15.pre_feedforward_layernorm.weight                  all=0.0048043 task=0.0043684 (input); absolute=0.0080133, task_absolute=0.0019204
model.layers.7.self_attn.k_norm.weight                            all=0.0042233 task=0.0041505 (input); absolute=0.027193, task_absolute=0.0075018

Maximum relative product-identity discrepancy: 1.8033489356147934e-06
Final norm gains unchanged: True
A small bound or product contribution cannot rule out a consequential
effect near an unknown nonlinear decision boundary. No such boundary is evaluated.
