This beat pre-registered 'the observed span exceeds the matched-null span by >= 5x' and never said WHICH summary of a 20-draw null: against the maximum it is 3.71x and the criterion fails, against the median it is 30.0x and it passes. The conservative reading was scored and the defect is recorded rather than repaired.
also called Q130 DEVIATION 2 · the criterion I wrote badly · which summary of the null did you mean
A rule was written in advance saying the effect had to be at least five times bigger than what chance produces. It never said whether 'what chance produces' meant the biggest chance result or the typical one - and the answer flips depending on which. The stricter reading was used and the mistake is written down.
The same thing, for a scientist
**The criterion as written:** *the observed span exceeds the matched-null span by >= 5x* [E1]. **Against a 20-draw null there are at least two obvious readings:** | reading | null span | ratio | verdict | |---|---:|---:|---| | the null's **maximum** in absolute value | 0.1620 | **3.71x** | **DOES NOT FIRE** | | the null's **median** | 0.0200 | **30.03x** | FIRES | **The conservative reading is the scored one and G4 is recorded as DOES NOT FIRE**, even though the criterion's other clause - that the residual observed-minus-null retains `|rho| = 1.000` with the observed sign - does hold at exactly -1.000 [E1]. **And the statistic that needs no multiplier was computed alongside:** none of the 20 draws reached the observed span, empirical two-sided `p = 1/21 = 0.0476`. That number is a property of the data and the draw count, not of a threshold I chose after the fact [E1]. **The general rule.** *A threshold is not a criterion until the quantity on both sides of the inequality is named.* 'Five times the null' names a multiplier and a direction and leaves the operand undefined; the multiplier does all the visible work and the operand silently decides the answer. **Name the estimator** - the median of the draws, the maximum, the 95th percentile, the standard deviation - in the pre-registration, or score the quantity that does not need one.
A second criterion in the same pre-registration failed its own uninformativeness clause
G5 asked whether the gradient survives input normalisation and stated, in advance, that G5 would be uninformative if the input itself carried an eviction gradient. It does: all three deposited inputs run Spearman -1.000 across the four quartiles. So G5 is recorded UNINFORMATIVE BY ITS OWN PRE-REGISTERED RULE, not as SURVIVES, even though the input-normalised numbers do survive 2.
Writing the uninformativeness clause first is what made that visible. Had the clause not been written, the honest reading would have been the same and nobody would have reached it, because the input-normalised values differ from the raw ones by at most 0.0093 and would have read as a clean confirmation.
What makes this worth an entry rather than a footnote
Because a pre-registration's value is entirely in being unable to move after the fact, and two of this beat's six criteria turned out to be movable - one by choice of estimator and one by its own escape clause. That is a one-in-three rate on a pre-registration written with the project's own accumulated rules in front of me. The fix is mechanical and cheap: for every threshold, write the operand; for every uninformativeness clause, compute it and print its verdict beside the criterion's, so it cannot be quietly not-checked.
| absence class | measured-not-analysed |
|---|---|
| absence class note | No sweep exists of this corpus's pre-registered thresholds for unnamed operands or untestable uninformativeness clauses. Two of six criteria in one pre-registration had one or the other. |
| absence class assigned | 2026-09-23 (Q130) |
g4
{
"criterion_as_written": "the observed span exceeds the matched-null span by >= 5x",
"defect": "the criterion does not say WHICH summary of the 20-draw null. The verdict flips between the two obvious readings.",
"observed_span_abs": 0.6005,
"null_span_max_abs_over_20_draws": 0.162,
"null_span_median": -0.02,
"ratio_against_null_max": 3.71,
"ratio_against_null_median": 30.03,
"verdict_against_null_max": "DOES NOT FIRE (3.71x, below the 5x line)",
"verdict_against_null_median": "FIRES (30.0x)",
"SCORED_VERDICT": "DOES NOT FIRE. The conservative reading is the scored one. G4's other clause - that the residual observed-minus-null keeps |rho| = 1.000 with the observed sign - DOES hold at rho = -1.0.",
"the_statistic_that_needs_no_multiplier": {
"n_of_20_null_draws_reaching_the_observed_span": 0,
"empirical_two_sided_p": 0.0476,
"note": "1/21 by the (1+k)/(1+n) convention with 20 draws. This is the number to quote and it is the floor the design can reach: with 20 draws no p below 0.0476 is attainable, so the p is limited by the null's size, not by the effect."
},
"n_draws_with_abs_rho_eq_1_in_the_null": 3,
"G1_uninformativeness_threshold_was": 5,
"G1_uninformativeness_fired": false
}g5
{
"criterion_as_written": "G5 is uninformative if the input itself carries an eviction gradient, because then input normalisation moves signal rather than removing artefact",
"input_spearmans_vs_eviction_depth": {
"NT_INPUT": -1,
"C1_INPUT": -1,
"TC_INPUT": -1
},
"input_max_over_min": {
"NT_INPUT": 1.1507,
"C1_INPUT": 1.1686,
"TC_INPUT": 1.1297
},
"clause_fired": true,
"SCORED_VERDICT": "UNINFORMATIVE BY ITS OWN PRE-REGISTERED RULE",
"why_it_does_not_damage_G1": "R is a ratio of two SHARES measured in the SAME genotype - the drug track over its own DMSO track - and the input appears in neither term, so an input gradient cancels in R exactly. The input's gradient is also small: max/min 1.1507 for NT against an observed R range of 1.1865/0.5860 = 2.02-fold. Empirically the input-normalised quartile values [0.5785, 0.8095, 0.9209, 1.1877] differ from the raw ones [0.586, 0.8188, 0.928, 1.1865] by at most 0.0093.",
"what_the_input_gradient_actually_says": "the four eviction quartiles differ in genomic DNA representation by 1.13-1.17 fold in the same monotone direction in all three inputs. That is a real property of the bin sets - accessibility, copy number or mappability - and it is a reason to distrust any single-track share comparison ACROSS quartiles. It is not a reason to distrust a within-genotype drug/vehicle ratio, which is what every number in this beat is."
}- How many committed criteria in this corpus's pre-registrations name a multiplier against an unnamed null summary? The pattern is greppable and nobody has looked.
- Should uninformativeness clauses be required to be computed and printed with their own verdict, the way criteria are? Both of this beat's failures would have been caught by the same one-line discipline.
- E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.dataset
Q130's pre-registered criterion G4 required the observed span to exceed 'the matched-null span' by at least 5x without naming which summary of the 20-draw null; against the null's maximum absolute span of 0.1620 the ratio is 3.71 and the criterion fails, against the null's median of 0.0200 it is 30.03 and the criterion passes, and the conservative reading was scored.
Q130 re-analysis of GSE260742: DEVIATION 2, deviation2-two-criteria-i-wrote-badly.json, G4_which_null_summary. analyses/q130-does-the-eviction-gradient-exist-in-h3k79me2/run.py, deviation1_per_bin_robustness.py, deviation2_two_criteria_i_wrote_badly.py, PREREGISTRATION.md and results.json, run 2026-09-23. Zero downloads: every track was binned by Q124 and read from disk. · Iqbal Lab oncofusion knowledge graph 2026What this evidence cannot show
The underlying numbers are unchanged by this and no result moves; what moves is one pre-registered criterion's verdict. The residual clause of G4 holds regardless, and the multiplier-free statistic (0 of 20 draws reached the observed span) is reported in every entry that quotes the null.
Evidence that argues against this (1)
- Recording a criterion as failing when the effect is 30x the typical null could be read as performative conservatism that buries a real result. Iqbal Lab oncofusion knowledge graph 2026
- E2established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.dataset
Q130's pre-registered criterion G5 stated it would be uninformative if the input carried an eviction gradient; all three deposited inputs run Spearman -1.000 across the four quartiles at 1.1507, 1.1686 and 1.1297 max/min, so G5 is recorded UNINFORMATIVE BY ITS OWN RULE despite the input-normalised values differing from the raw ones by at most 0.0093.
Q130 re-analysis of GSE260742: DEVIATION 2, G5_its_own_uninformativeness_clause_fired. analyses/q130-does-the-eviction-gradient-exist-in-h3k79me2/run.py, deviation1_per_bin_robustness.py, deviation2_two_criteria_i_wrote_badly.py, PREREGISTRATION.md and results.json, run 2026-09-23. Zero downloads: every track was binned by Q124 and read from disk. · Iqbal Lab oncofusion knowledge graph 2026What this evidence cannot show
The clause's firing does not damage the primary result, and the reason is stated rather than assumed: the scored statistic is a drug/vehicle ratio within one genotype and the input enters neither term. What the clause correctly flags is that the input-normalised number is not an independent confirmation.
Evidence that argues against this (1)
- An uninformativeness clause that fires on a 1.15-fold input gradient may simply be set too tight, in which case recording G5 as uninformative discards a real check. Iqbal Lab oncofusion knowledge graph 2026
the criterion defect found scoring this null
both are small-n criterion defects from the same pre-registration