Indexing every PMID in every entry - CORRECTED to 4,000 distinct papers across 2,411 entries after the original regex was found to miss 73.7% of them by matching prose but not the schema's own citation field, an undercount that made this entry declare a gap the corpus refuted 14 times over
also called the citation index · 1,908 papers, 100% resolving · search the citations not the entry text · what this corpus actually cites
Before sending a researcher to investigate something, this project checks whether it has already been done. Three times running that check said no and was wrong, because it searched the text of the project's own notes rather than the list of papers those notes cite. Building a searchable index of all 1,908 cited papers fixes it — and incidentally shows the project's citation record is clean: every single identifier resolves to a real paper.
The same thing, for a scientist
**SUPERSEDED IN PART, 2026-09-23 (cycle 120). THE HEADLINE NUMBER IS A 52% UNDERCOUNT AND EVERY TOPIC COUNT BELOW IS COMPUTED ON A QUARTER OF THE CORPUS.** The regex required the literal string `PMID`, so it matched prose (`PMID 35288693`) and could not match this schema's own citation field (`"pmid": "35288693"`). Re-run with both paths unioned: | | cycle 118 | corrected | |---|---:|---:| | distinct PMIDs | 1,908 | **4,000** | | entries citing one | 1,230 | **2,411** | | resolving to a real paper | 100% | **100%** | **The prose path alone missed 2,946 of the 4,000 - 73.7%.** The 100% resolution rate that made this entry sound solid was a PRECISION measure, and the script had no recall measure at all; cycle 119's follow-up then inherited the same half-corpus. **The entry's own caveat named this exact failure** - *"any citation written without that prefix is missed entirely and the 1,908 is itself a lower bound"* - and it was written as a hedge rather than acted on as a task. **The cost was not abstract: this entry's own gap selection was wrong.** It reported single-cell as the thinnest topic at 8 papers, *"none of them a KMT2A::AFF1 or infant-ALL study"*, and that selected the next cycle's beat. The corrected index holds **19** single-cell papers, and the most-cited of them is **PMID 35288693, Khabirova 2022 Nat Med, *Single-cell transcriptomics reveals a distinct developmental state of KMT2A-rearranged infant B-cell acute lymphoblastic leukemia*, cited by 14 entries here** - precisely the study declared absent. Two more follow: Candelli 2022 *Leukemia* on relapse-initiating cells in MLL-rearranged infant ALL (4 entries) and Chen 2022 *Blood* on KMT2A-r single-cell multiomics (5 entries). **Corrected topic counts** - every one of them higher, none by the same factor, so the ranking itself was unreliable and not merely the level: relapse/MRD **91** (was 26), metabolism **65** (39), condensates **51** (22), splicing **48** (15), CAR-T **38** (14), 3D genome **30** (10), degrons **25** (14), single-cell **19** (8). **What survives.** The mechanism this entry diagnosed is real and is now better evidenced, not worse: a citation is not prose, and searching entry text cannot find it. The rule stands. What fails is this entry's execution of it - and the failure is the fourth consecutive instance of the pattern it was built to stop, *measuring an index instead of the thing*, this time in the instrument built to stop it. See `ana-the-index-built-to-stop-gap-claims-made-one` for the full accounting. --- **Statement.** Three consecutive dispatch briefs asserted a gap that did not exist: | cycle | the brief claimed | what was actually there | |---|---|---| | 113 | *"the analogy axis is cold"* — 17 entries by `type` | a 68-entry `comparative/` folder; 458 entries touch another fusion family | | 115 | the menin-vs-DOT1L comparison exists in the index fusion | **RS4;11 has zero MEN1 or VTP samples** — two true facts joined into a false one | | 117 | *"the surfaceome screen has never been run"* | **PMID 33910331 ran it in 2022 and nine node files cite it** | **The third is the instructive one.** I searched entry **ids** and **prose** for subject words and found nothing, because the refutation was a **PMID inside entries filed under other topics** — the LAMP5 paper lives in a `cell-state-` entry. **A citation is not prose.** It is the corpus's link to the literature, and it is where *has this been done?* is actually answered. **Built:** every PMID in every node file, with titles fetched from PubMed. - **1,908 distinct PMIDs**, **3,440 distinct DOIs**, across **1,230 of 2,602 entries** - **1,908 of 1,908 resolve to a real paper — 100%** **That 100% is worth stating on its own.** This project has had two PMIDs resolve to entirely unrelated papers and, in the last three cycles, agents reached from memory for identifiers that turned out to be a *Trypanosoma brucei* paper, an asciminib paper and a cheese-whey biohydrogen paper. **Every one of those was caught before it was written.** The committed citation record has no unresolvable identifier in it. **And the index immediately paid for itself.** Searching it by topic rather than counting entries gives a coverage profile the entry counts could not: metabolism **39** papers, relapse/MRD **26**, condensates **22**, splicing **15**, CAR-T **14**, degrons **14**, 3D genome **10** — and **single-cell just 8**, each cited once or twice, **none of them a KMT2A::AFF1 or infant-ALL study**. That is a real gap in the instrument best suited to the PI's *cell type* and *cell state* axes, and it selected this cycle's second beat.
The rule, and why the obvious alternatives fail
The rule: before a dispatch brief claims a method, screen or experiment has never been done here, search the citation index — not entry ids, not entry prose.
Why entry text fails: an entry is filed under one topic and may cite a paper about another. The LAMP5 surfaceome paper is cited by a cell-state- entry, an immunophenotype/ entry and seven others. No keyword sweep over ids or summaries reaches it. The agent's own inventory over surface / antigen / immunotherapy / surfaceome / membrane returned 38 entries and also missed it.
Why type fields fail: measured last cycle — they understate content by a median of 19.5× and by up to 81×.
Why this index is still not sufficient: U2 — a title is not a method. A paper that ran a surfaceome screen without saying so in its title stays invisible. The index narrows the gap; it does not close it. Abstract-level indexing would close more of it and was not done.
What the most-cited papers say about where this corpus rests
| PMID | entries | paper |
|---|---|---|
| 37788669 | 29 | Epigenetic balance ensures mechanistic control of MLL amplification |
| 41634341 | 26 | DOT1L provides transcriptional memory through PRC1.1 antagonism |
| 20961854 | 25 | Molecular basis of the MLL-menin interaction |
| 36635503 | 24 | Targeting Menin disrupts the KMT2A/B and polycomb balance |
| 20010842 | 21 | Structure of the MLL CXXC domain-DNA complex |
| 31821784 | 21 | A Menin-MLL Inhibitor Induces Specific Chromatin Changes |
The top of the list is structural and mechanistic, and the deposit-heavy chromatin thread of the last twenty cycles rests on two of them. A corpus whose most-cited paper appears in 29 of 2,602 entries is broad rather than concentrated — which is the opposite of what the recent cycles' focus on a single deposit would suggest, and worth knowing before the next beat is chosen.
| question | what does this corpus cite, and can that be searched before claiming a gap? |
|---|---|
| node files | 2602 |
| distinct pmids | 1908 |
| distinct dois | 3440 |
| entries citing a pmid | 1230 |
| resolved PCT | 100 |
| unresolved pmids | 0 |
| the gap this selected | single-cell: 8 papers, each cited once or twice, none a KMT2A::AFF1 or infant-ALL study - the instrument best suited to the PI's cell type and cell state axes |
| THE RULE | before a dispatch brief claims a method, screen or experiment has never been done here, search the citation index - not entry ids and not entry prose |
| absence class | measured-not-curated |
| bite back | This entry supplies a tool that makes 'it has never been done' cheap to check and therefore cheap to assert. If future briefs use the index to justify novelty claims rather than to avoid them, it will have automated the habit that caused the problem instead of the check that fixes it. |
topic coverage by cited papers — the numbers behind the chart
{
"metabolism": 39,
"relapse_MRD": 26,
"condensate_phase_separation": 22,
"splicing": 15,
"CAR_T_immunotherapy": 14,
"degron_targeted_degradation": 14,
"3D_genome": 10,
"single_cell": 8
}most cited
{
"20010842": 21,
"20961854": 25,
"31821784": 21,
"36635503": 24,
"37788669": 29,
"41634341": 26,
"NOTE": "these ranks were computed on the half-corpus and have not been recomputed; treat as unverified"
}three briefs that needed it
{
"cycle_113": "type=='analogy' gave 17; a 68-entry comparative/ folder existed",
"cycle_115": "asserted the menin-vs-DOT1L comparison was in the index fusion; RS4;11 has zero MEN1 or VTP samples",
"cycle_117": "asserted the surfaceome screen was unrun; PMID 33910331 ran it in 2022, cited in nine entries"
}SUPERSEDED 2026 09 23
{
"what_was_wrong": "the PMID regex required the literal string 'PMID' and could not match the schema field \"pmid\": \"<id>\", so it saw prose citations only",
"corrected_distinct_pmids": 4000,
"original_distinct_pmids": 1908,
"corrected_entries_citing_a_pmid": 2411,
"original_entries_citing_a_pmid": 1230,
"prose_path_missed": 2946,
"prose_path_missed_pct": 73.7,
"corrected_topic_coverage": {
"relapse_MRD": 91,
"metabolism": 65,
"condensate_phase_separation": 51,
"splicing": 48,
"CAR_T_immunotherapy": 38,
"3D_genome": 30,
"degron_targeted_degradation": 25,
"single_cell": 19
},
"the_gap_it_selected_was_not_a_gap": "this entry reported 8 single-cell papers and 'none a KMT2A::AFF1 or infant-ALL study'; the corrected index holds 19, led by PMID 35288693 (Khabirova, Nat Med 2022) on KMT2A-rearranged infant B-ALL, cited by 14 entries in this corpus",
"why_it_was_not_caught": "a 100% resolution rate is a PRECISION measure - every id found is real - and the script had no RECALL measure; the entry's own caveat stated the limitation and was written as a hedge rather than acted on as a task",
"superseded_by": "ana-the-index-built-to-stop-gap-claims-made-one"
}- Index abstracts, not just titles. U2 is the binding limit: a paper that ran the method without naming it in its title is still invisible, and abstracts are one more esummary field away.
- Run a title-versus-claim consistency check. The 100% resolution rate tests that an identifier exists, not that it is the paper the entry meant - and both documented failures here resolved cleanly to the wrong paper.
- Resolve the 3,440 DOIs. They have had no hygiene check at all, and deposits and preprints live there.
- Should dispatch briefs assert gaps at all? Three cycles of agents correcting the premise suggests the habit is the problem, not the measurement. A brief that states what is known and asks for an extension cannot be wrong in this way.
- E1strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.analysis
Extracting every string matching PMID[:\s]*\d{7,8} from all 2,602 committed node files yields 1,908 distinct PMIDs cited by 1,230 entries, plus 3,440 distinct DOIs. Querying PubMed esummary for all 1,908 returns a title for every one: 1,908 of 1,908, 100.0%, with no unresolvable identifier. Searching the resulting title index by topic gives 39 metabolism papers, 26 relapse/MRD, 22 condensate/phase-separation, 15 splicing, 14 CAR-T/immunotherapy, 14 degron/targeted-degradation, 10 3D-genome and 8 single-cell; of the eight single-cell papers none concerns KMT2A::AFF1 or infant ALL specifically. The most cited paper, PMID 37788669, appears in 29 entries.
analyses/what-this-corpus-actually-cites/run.py, results.json and citation-index.json, this repository, computed 2026-09-23 against the committed node files with titles fetched live from PubMed esummary · Oncofusion knowledge graph, coordinator · internal analysis, reproducible from the repository 2026What this evidence cannot show
A CITATION IS NOT AN ENDORSEMENT - a paper cited once in passing counts the same as one a whole beat rests on, so the index answers 'is this known here', not 'has this project engaged with it'. A TITLE IS NOT A METHOD: topic counts come from title strings, so a paper doing the work without the word in its title is invisible, and every topic count here is a LOWER bound. The PMID regex requires the literal 'PMID' prefix, which is deliberate - a bare 7-8 digit number in this corpus is usually a genomic coordinate - so any citation written without that prefix is missed entirely and the 1,908 is itself a lower bound. DOIs are counted but not resolved, so the 3,440 figure has had no hygiene check at all. The 100% resolution rate covers only that PubMed returns a record, NOT that the record is the paper the entry meant - which is the specific failure that has occurred twice here.
Evidence that argues against this (3)
- The 100% resolution rate is the weakest strong-sounding number in this entry. It tests that an identifier exists, not that it is the right one - and the two documented failures in this project were both PMIDs that resolved perfectly to the WRONG paper. A title-versus-claim consistency check, comparing each citation's stored title against the live title, would test what actually matters and was not run.
- Diagnosing three failures as one systematic cause is tidier than the evidence supports. Cycle 115's error was a cross-tabulation mistake with nothing to do with citations, and no citation index would have caught it. Only cycle 117's failure is actually addressed by this tool; 113's was addressed by last cycle's different tool. Presenting them as a series implies a single fix that does not exist.
- Building a search tool is a satisfying response to having been wrong, and it postpones the harder question of why the briefs asserted gaps at all. A brief does not need to claim novelty to be useful - it could simply say what is known and ask the agent to extend it. Three cycles of agents correcting the premise suggests the problem is the habit of asserting a gap, not the difficulty of measuring one.
same failure one layer up: that entry retired the type field as a coverage measure, this retires entry prose and supplies the index that replaces both
the beat that exposed the gap: its refutation was a PMID cited in nine entries and invisible to any search of ids or prose
the cross-tabulation discipline in deposits; this is its equivalent for the literature
discharges that entry's own counter-evidence and bounds its headline: 100% resolution tests existence, and nothing in the schema can test correctness
corrects its headline from 1,908 distinct PMIDs across 1,230 entries to 4,000 across 2,411: the regex matched prose PMIDs but not the schema's own "pmid" field, missing 2,946 identifiers (73.7%), and every topic count in that entry was computed on the remainder