# UTFANSWF v21 — Row 20 Thin-Slice Attribution Diagnostic

**Context:** DIAGNOSTIC_NON_GATING. This extension changes no physics, thresholds, datasets, parameters, or gate verdicts.

## Block summary

| Block | chi2 | dof | chi2/dof |
|---|---:|---:|---:|
| CMB | 23.217994 | 3 | 7.739331 |
| BAO_DV | 0.571906 | 1 | 0.571906 |
| BAO_DM_H | 10.299232 | 4 | 2.574808 |
| SN | 11.093326 | 2 | 5.546663 |
| GW | 19.521412 | 80 | 0.244018 |

## Totals

| Test | chi2 | dof | chi2/dof | verdict vs 1.25 |
|---|---:|---:|---:|---|
| CMB_BAO_SN_no_GW | 45.182459 | 10 | 4.518246 | FAIL |
| locked_v21_with_GW | 64.703872 | 90 | 0.718932 | PASS |
| SH0ES_overlay | 29.409763 | 1 | 29.409763 | diagnostic pull -5.423077 sigma |
| CMB_BAO_SN_plus_SH0ES_no_GW | 74.592223 | 11 | 6.781111 | FAIL |
| locked_v21_plus_SH0ES_overlay_with_GW | 94.113635 | 91 | 1.034216 | PASS |

## Strongest thin-slice targets

| Rank | Block | Slice removed | delta chi2 removed | chi2/dof without slice |
|---:|---|---|---:|---:|
| 1 | CMB | ell_A | 22.955882 | 0.131056 |
| 2 | SN | SN mu z=0.35 | 10.845409 | 0.247917 |
| 3 | BAO_DM_H | H z=0.706 | 5.829909 | 1.489775 |
| 4 | BAO_DM_H | D_M z=0.706 | 4.494125 | 1.935036 |
| 5 | SN | SN mu z=0.10 | 3.338661 | 7.754666 |
| 6 | SN | SN mu z=0.70 | 2.708178 | 8.385148 |
| 7 | BAO_DM_H | H z=0.510 | 1.685407 | 2.871275 |
| 8 | CMB | R | 1.416042 | 10.900976 |
| 9 | CMB | omega_b_h2 | 0.243913 | 11.487040 |
| 10 | BAO_DM_H | D_M z=0.510 | 0.144730 | 3.384834 |

## Node residuals

### CMB
| Slice | data | theory | residual | diag pull sigma | whitened chi2 contribution |
|---|---:|---:|---:|---:|---:|
| R | 1.750200 | 1.748427 | 0.001773 | 0.383669 | 0.147202 |
| ell_A | 301.471000 | 301.078971 | 0.392029 | 4.411555 | 22.826879 |
| omega_b_h2 | 0.022360 | 0.022360 | 0.000000 | 0.001609 | 0.243913 |

### BAO_DV
| Slice | data | theory | residual | diag pull sigma | whitened chi2 contribution |
|---|---:|---:|---:|---:|---:|
| D_V/r_d z=0.295 | 7.941676 | 7.999221 | -0.057544 | -0.756245 | 0.571906 |

### BAO_DM_H
| Slice | data | theory | residual | diag pull sigma | whitened chi2 contribution |
|---|---:|---:|---:|---:|---:|
| D_M z=0.510 | 2007.973214 | 1981.016373 | 26.956841 | 1.083420 | 1.173799 |
| H z=0.510 | 92.788967 | 89.790118 | 2.998849 | 1.647567 | 1.685407 |
| D_M z=0.706 | 2564.085107 | 2597.825563 | -33.740456 | -1.268904 | 1.610117 |
| H z=0.706 | 104.271594 | 101.200355 | 3.071238 | 1.716363 | 5.829909 |

### SN
Existing nuisance handling: `{'SN_M_fit_existing_offset': 2.115928369672133}`
| Slice | data | theory | residual | diag pull sigma | whitened chi2 contribution |
|---|---:|---:|---:|---:|---:|
| SN mu z=0.10 | 42.000000 | 39.707042 | 0.177029 | 0.885146 | 0.783483 |
| SN mu z=0.35 | 43.100000 | 41.573176 | -0.589104 | -2.634554 | 8.445196 |
| SN mu z=0.70 | 44.200000 | 41.749589 | 0.334483 | 1.365521 | 1.864647 |

## Interpretation
- The locked v21 Row 20 total remains PASS when the GW block is included, matching the released harness accounting.
- The CMB+BAO+SN subset without GW is stressed and fails against the reference threshold, so the H0 attribution cannot yet be reduced to SH0ES alone.
- The largest thin-slice residuals are localized rather than broad: the diagnostic ranks the specific CMB/SN/BAO nodes responsible for most chi2 reduction when removed.
- This is an attribution result only, not a resolution. A v21.1 candidate would require native reproducible resolution or formal attribution of these nodes without physics, threshold, dataset, or parameter changes.

## v21.1 candidate gate
A v21.1 candidate remains blocked until the thin-slice residuals above receive a native reproducible resolution or formal attribution without changing physics, thresholds, datasets, or adding parameters.
