Attack item R-5 ยท 2026-07-30 ยท harness
harness/subslice_null_pivotality.py
KB.md carries exactly one CONTESTED entry: one research section says standardise each sub-slice reading by its own length (free, zero parameters); another says fixed-b asymptotics make the sub-slice p-value non-pivotal, so no standardisation recovers a calibrated comparison. Resolving it was blocked by a MUST-NOT-ASSUME:
"The fixed-b refutation is second-hand and about the sample mean. It rests on one sentence in Shao & Politis citing Lahiri (2001), which was not retrieved. ฮพ is not a sample mean." โ research gap #962
That paper is unavailable. But the question it was being used to answer โ does a closed-form standardisation recover comparability between sub-slice lengths for ฮพ โ is directly measurable. Measuring it does not require the citation.
| arm | sd/full vs โk | z_sd using 2/5 | shape preserved |
|---|---|---|---|
| continuous | err 2.5% โ | 0.974โ0.998 collapses | โ |
| tied 30.9% in Y (LINKUSDT@100's real rate) | err 1.6% โ | 0.991โ1.009 collapses | โ |
| Y with 5 levels | err 1.9% โ | 1.069โ1.092 fails | โ |
| Y binary (Bernoulli ยฝ) | err 1.6% โ | 1.580โ1.605 fails badly | โ |
โk scaling holds in all four arms, and shape is preserved in all four. The only thing that changes with sub-slice length is the โk factor. So:
A standardisation DOES recover comparability between sub-slice lengths for ฮพ. The sub-slice rule is repairable, not necessarily deletable โ established empirically, for ฮพ, without the Lahiri citation.
That supports the c.6 position. But ยง(b)'s suspicion was not baseless โ it was right for a different reason than it gave:
The standardising constant is not universal. ฯยฒ depends on the law of Y exactly as Chatterjee Thm 2.2 warns: 2/5 continuous โ โ0.476 at 5 levels โ 1.0 for Bernoulli(ยฝ). Hard-coding 2/5 would understate the sd by 58% on a binary-valued kernel.
The measured z_sd of 1.580 for Bernoulli(ยฝ) matches Thm 2.2's predicted
โ(1/0.4) = 1.581 to three decimals โ the theorem reproduced, not merely cited.
I predicted 30.9% ties would break the 2/5 constant. It did not break โ z_sd stayed 0.991โ1.009. My offered explanation was that 30.9% ties still leaves ~2,760 distinct Y values out of 3,990, so Y is "nearly continuous". Asserting that explanation without testing it would have been exactly the move this loop exists to prevent, so the 5-level and binary arms were added. They confirm it: the break needs severe discreteness, not a high tie fraction.
bar_sign_markov_flux is a shipped column built on signs โ a 2-level substrate, where the
correct constant is 2.5ร larger. Any repair that assumes 2/5 would be most wrong precisely on the
kernels the campaign is screening.O(n log n) plug-in ฯฬยฒโ. The research confirmed it exists; this measurement
shows it is necessary, not optional.Nothing in the instrument. This resolves a contested reading and identifies which repair is sound โ standardise per length, but estimate ฯยฒ rather than assume it. Applying that repair is parameter-bearing in practice (it changes every sub-slice comparison) and remains the operator's call. The KB entry can move from CONTESTED to resolved-with-a-caveat.
Evidence: harness/subslice_null_pivotality_evidence.json. Reproduce:
VIRTUAL_ENV="" uv run --python 3.13 --no-project --with numpy --with pandas python3
harness/subslice_null_pivotality.py