The computed-but-unread scan ran, passed its own declared informativeness control at 60.3% cited, and produced a headline nobody can act on: 36,110 uncited values across 182 results files, dominated by ranks, taxids and chromosome extents. The useful population is not 'uncited numbers' but 'PRE-REGISTERED quantities that went uncited', which is what the one real instance actually was
also called the computed-but-unread scan · a scan that works and answers the wrong question · 36,110 is not a finding
Twice recently this project has found that a number it had already calculated and saved was sitting unread in its own files and, once read, changed an interpretation - so this cycle built a tool to find all such numbers systematically. The tool works correctly and its internal check confirms it is matching properly, but its answer is thirty-six thousand uncited numbers, almost all of which are internal bookkeeping like list positions and chromosome lengths that nobody would ever cite. The genuinely useful question is narrower: which quantities did a study formally commit in advance to measuring, and then never report? That is what both real instances were, and it is a far smaller list that the next cycle should build instead.
The same thing, for a scientist
**Statement.** Q124 (cycle 86) found the H3K79me2 mid-occupancy floor sitting in this repository's own results files **since cycle 82** — pre-registered in section 3 of three consecutive beats, read by none — and it qualified a headline. It called a scan of `analyses/*/results.json` "an afternoon" and noted "two instances surfaced in this cycle alone". Cycles 86 and 87 both listed it as next; neither ran it. Run. **The scan works.** 2,376 entry files (52.2 MB) tokenised into 27,420 distinct numeric tokens; **182 results files, all parsed; 277,622 numeric leaves; 91,669 distinct values.** After excluding 630 as likely-colliding, **54,929 cited (60.3%) and 36,110 not cited (39.7%).** **It passes its own declared control.** The pre-registration said the scan is uninformative if the cited fraction is near 0 (matcher broken) or near 1 (nothing to find). **60.3% is comfortably in the informative range**, so the matcher is working. **And the headline is useless anyway.** Ranked by breadth, the uncited values are `all_results[13499].rank`, `candidates[22].taxid`, `genome_build_verification.*` chromosome extents, `rnaseq_rows[20]` line numbers. **These are scaffolding and no one would ever cite them.** The script's own docstring predicted this — *"most unread values WILL be intermediates… the list is worthless unless someone reads it"* — and reading it confirms the prediction rather than rescuing the output. **So the scan answers the wrong question, and the right one is visible in the instance that motivated it.** The mid-occupancy floor was not merely an uncited number. It was **a quantity a pre-registration formally committed to measuring, which the beat then never reported.** That population is tiny — **only 5 of 162 analysis directories carry a `PREREGISTRATION.md`** (measured in cycle 77) — and every member of it is by construction something a beat thought important enough to name in advance. **The redesign, stated precisely so the next cycle does not rebuild this one:** parse each `PREREGISTRATION.md` for the quantities and criteria it names, and check whether each appears in that beat's committed entries. A pre-registered quantity that never reaches an entry is exactly the failure mode that produced both known instances, and there can be at most a few dozen candidates rather than 36,110.
Two instrument failures of mine in building it, both cost-estimation
The first version did not finish. It ran any(f in blob for f in forms(v)) for each of ~50,000 distinct values against a ~50 MB concatenation of every entry — O(values × corpus) — and produced no output in 20 minutes. I wrote it without estimating its cost. Tokenising the corpus once into a set and testing membership is O(corpus + values) and runs in seconds, with identical matching semantics.
The fix itself then failed the same way it has failed before. I applied it through a Bash heredoc, which collapsed the backslashes in the regex and the anchor string, so the patch did not match. That is the trap Q118 documented and that put a literal 0x08 byte into a regex in cycle 77, and this project already has the rule — anything containing a backslash goes through the Write tool. I did not follow my own rule until it bit.
And the post-write assertion fired on a correct edit for the fourth time in this session: I asserted "blob" not in back, and the word survives inside the comment that quotes the old code. A probe that searches a whole file for a token will keep catching the documentation of the thing it is checking for.
| entry files read | 2376 |
|---|---|
| entry text chars | 52247809 |
| distinct numeric tokens in entries | 27420 |
| results files | 182 |
| results files parsed | 182 |
| numeric leaves | 277622 |
| distinct numeric values | 91669 |
| excluded as likely colliding | 630 |
| cited | 54929 |
| not cited | 36110 |
| cited fraction | 0.6032 |
| declared control | uninformative if the cited fraction is near 0 (matcher broken) or near 1 (nothing to find) |
| control verdict | PASSES - 60.3% is in the informative range, so the matcher works |
| but the headline is useless | ranked by breadth the uncited values are array ranks, NCBI taxids, genome-build chromosome extents and row indices. The docstring predicted this before running; reading the output confirmed the prediction rather than rescuing it. |
| the right population | PRE-REGISTERED quantities that never reached an entry. The mid-occupancy floor - the instance that motivated this - was not merely uncited, it was named in section 3 of three consecutive pre-registrations and reported by none of them. |
| why that population is tractable | only 5 of 162 analysis directories carry a PREREGISTRATION.md (measured cycle 77), so there are at most a few dozen candidates rather than 36,110, and every one is something a beat thought important enough to name in advance |
| absence class | measured-not-analysed |
| absence class note | The uncited values are all computed, committed and present in this repository. What has not been analysed is the narrow subset that matters - pre-registered quantities that never reached an entry - and this scan does not isolate it. Not never-measured: the numbers exist and the redesign is a parsing task over 5 files. |
top uncited by directory — the numbers behind the chart
{
"depmap-kmt2a-selective-scan-full": 28322,
"does-atf4s-own-transcript-move-under-a-menin-inhibitor": 3547,
"q117-gained-fusion-occupancy": 1513,
"q118-menin-at-the-human-index-fusion": 1417,
"q109-is-the-serine-collapse-downstream-of-atf4-or-pathway": 1368
}instrument failures in building this
[ "the first version was O(values x corpus) - substring-searching a 50 MB blob for each of ~50,000 values - and produced no output in 20 minutes. I wrote it without estimating its cost.", "the fix was applied through a Bash heredoc, which collapsed the regex backslashes so the patch did not match - the trap Q118 documented and that put a literal 0x08 byte into a regex in cycle 77, against a rule this project already has", "the post-write assertion fired on a correct edit for the fourth time this session, because it searched the whole file for a token that survives inside the comment quoting the old code" ]
- Build the targeted version: parse each of the 5 PREREGISTRATION.md files for the quantities and criteria it names, and check whether each appears in that beat's committed entries. That is what would have found the mid-occupancy floor.
- Before doing that, try re-ranking THIS scan's output by a different key - values appearing exactly once, in a file whose sibling values are mostly cited. The 'answers the wrong question' conclusion rests on a breadth ranking that is the one most likely to surface scaffolding, and I did not test the alternative.
- Is the pre-registered-quantity population the right target at all? Both known instances were pre-registered, but that is exactly the class a later reader can NOTICE was dropped - an unread number never named in advance is invisible to both designs, and nothing says that class is empty.
- E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.analysis
Across 182 committed results files in analyses/, containing 277,622 numeric leaves and 91,669 distinct values, 54,929 values (60.3%) appear somewhere in the 2,376 committed entry files and 36,110 (39.7%) do not, after excluding 630 as likely-colliding. Ranked by the number of distinct result paths they occupy, the uncited values are dominated by array ranks, NCBI taxids, genome-build chromosome extents and row indices. Only 5 of 162 analysis directories carry a PREREGISTRATION.md.
analyses/computed-but-unread/run.py and results.json, this repository; run 2026-09-23 against the working tree · Oncofusion knowledge graph, coordinator · internal analysis, reproducible from the repository 2026What this evidence cannot show
THE 36,110 FIGURE IS NOT A FINDING AND MUST NOT BE QUOTED AS ONE - it counts scaffolding. The matcher is deliberately GENEROUS (stored precision plus 4/3/2 decimal places), so the uncited set is a FLOOR on what is uncited and a ceiling on nothing. A value cited in prose in another form - 'about a fifth', 'roughly 20%' - counts as uncited here. Whole numbers in [-2,2] and values appearing in more than 40 paths were excluded as colliding, which removes some genuine cases along with the noise. The scan reads only files matching results*.json, so a beat that dumped its numbers under another name is invisible, and it reads only the WORKING TREE, so uncommitted or deleted results are out of scope.
Evidence that argues against this (3)
- The conclusion that the scan 'answers the wrong question' is reached by reading the top of the list ranked by BREADTH - values occupying the most distinct paths - which is precisely the ranking most likely to surface scaffolding, because array indices and taxids repeat. A different ranking, for example values appearing exactly once in a file whose sibling values are all cited, could surface the interesting cases that this ordering buries. I did not try that ranking before declaring the output useless, so the redesign I propose may be unnecessary.
- The proposed redesign assumes pre-registered quantities are the right target because both known instances were pre-registered. Two instances is a thin basis for a design decision, and it has an obvious selection bias: pre-registered quantities are the ones a beat DOCUMENTS, so they are the ones a later reader can notice were dropped. An unread number that was never pre-registered would be invisible to both the old scan's noise and the new scan's scope - and there is no reason to think that class is empty.
- Reporting a null on my own tool one cycle after proposing it is cheap in a way that reporting a positive would not be, and the write-up may be more generous to the failure than a reader would be. The blunt summary is that I spent a cycle's coordinator time building something two prior cycles had listed as valuable, and the output is a number I am telling people to ignore. The salvage is the redesign, and the redesign is untested.
that entry's find - a quantity pre-registered in three consecutive beats and read by none - is what motivated this scan, and it is also what shows the scan targeted the wrong population: the floor was not merely uncited, it was PRE-REGISTERED and uncited
same shape of corpus-wide sweep, and the same lesson: the first pass of that one returned 452 findings against a true 35 because it selected a lexical shape; this one returns 36,110 because it selects any uncited number rather than any uncited PRE-REGISTERED number
another instance of an instrument that runs correctly, passes its own control, and answers a question adjacent to the one worth asking
the value-level ancestor of this sweep: 39.7% of numeric leaves uncited against 2.1% of directories