`absence_class` is one token per ENTRY while the entries carry seven to eleven distinct gaps each, so it is a summary label - and inside gene-nbn it hid a verifiably false ENCODE claim for three cycles
also called absence_class is scalar · summary label over several gaps · absence denominator · gene-nbn ENCODE correction
We label each entry with one word describing the kind of gap in it, but a typical entry contains seven to eleven different gaps of different kinds. Inside one of them that single word was hiding a statement that four public experiments do not exist, when they do.
The same thing, for a scientist
Of the **243** node files carrying `data.absence_class`, only **40** have an `absence-` id: **109 are `gene-`** and **62 are `ana-`**, and **147 carry 16-30 `data` fields**. So the field is not a property of dedicated absence records - it is one scalar annotation on rich entries. Sampling six `gene-` entries at seed 68, **each carries 7 to 11 separate fields that assert an absence** under a single token. `gene-nbn` is the worked case: one `never-measured` spanning a **measured** DepMap value (1,258 screens, mean -0.0471), a scoping note, two genuine bounded absences, and **two fields asserting that no released ENCODE TF ChIP-seq experiment exists for NBN**. Verified live on both endpoints: `/targets/NBN-human/` returns 200 and a released search returns **4** - ENCSR278SQL, ENCSR210ZYL, ENCSR591EBL, ENCSR085QEV. The cycle-65 sweep reported those four and they were corrected in sibling entries; this entry was missed for three cycles. **This is the PI's 'never a summary entry covering several' rule being broken inside a field rather than across entries**, and it is why 31 entries independently invented richer prose schemes.
The population is not what an absence count should use
| n | |
|---|---|
node files carrying data.absence_class | 243 |
of those, id begins absence- | 40 |
id begins gene- | 109 |
id begins ana- | 62 |
carrying 16-30 data fields | 147 |
| title contains a negation word | 136 (56.0%) |
A count of 243 is therefore entries that record at least one gap, not gaps. Since the sampled entries carry 7-11 each, the number of distinct bounded absences in this corpus is plausibly an order of magnitude above any figure this project has quoted - and no figure should be quoted from this field until the schema is single-valued.
Why the false claim survived, and it is the structure not the reader
gene-nbn's seven absence-bearing fields, with the class that each actually deserves:
| field | real status |
|---|---|
depmap | measured - 1,258 screens, mean -0.0471. Not an absence. |
encode_status | was FALSE - four experiments exist. measured-not-analysed |
localization_shown_for_fusion | same false ENCODE clause |
epigenetic_readout | a scoping statement, not an absence |
cell_type | genuine absence |
shown_for_fusion | genuine, literature-bounded |
bounded_absence_2026_09_22 | properly bounded, querytranslations read |
The entry's single token was never-measured. A reader auditing 'the absence class' of this entry saw one plausible word where there were seven claims, and the one that was false was not the one the token described. Three cycles of corrections to the same false clause elsewhere in the corpus went past it.
What the fix is, and what it is not
It is not a better token. Cycle 67 added literature-absence-bounded because the vocabulary was missing a concept, and that was right, but it does not touch this: the field is scalar and the thing it describes is a list.
The shape that would work is an array - absences: [{what, class, basis, checked_on}] - with the scalar retained only as a derived worst-case for backwards compatibility. That is a schema change affecting 243 entries and it should be decided deliberately rather than by whichever beat writes next, which is why this entry proposes rather than performs it.
And it explains the drift cycle 67 found. Fourteen entries wrote 'literature - bounded with counts, querytranslations and controls' and about seventeen wrote a two-axis MEASURED-AND-* / BOUNDED-UNPUBLISHED scheme. Both are attempts to express a multi-valued state in a single-valued field. They were not non-compliance; they were the field being wrong.
| files carrying absence class | 243 |
|---|---|
| titles containing a negation word | 136 of 243 (56.0%) |
| sample seed | 68 |
| proposed schema | absences: [{what, class, basis, checked_on}], with the scalar retained only as a derived worst case - PROPOSED, NOT PERFORMED, because it touches 243 entries |
| measured | 2026-09-23, king, cycle 68 |
by ID prefix — the numbers behind the chart
{
"absence-": 40,
"gene-": 109,
"ana-": 62,
"other": 32
}by node type — the numbers behind the chart
{
"analysis": 98,
"gene": 96,
"protein": 13,
"mechanism": 13,
"other": 23
}data field count distribution — the numbers behind the chart
{
"1-5": 3,
"6-15": 83,
"16-30": 147,
"31+": 10
}absence bearing fields per sampled entry
{
"gene-nbn": "7 of 23",
"gene-atf4": "10 of 21",
"gene-dna2": "8 of 23",
"gene-palb2": "8 of 23",
"gene-elp3": "11 of 33",
"gene-eif2ak4": "10 of 20"
}gene nbn correction
{
"fields_corrected": [
"encode_status",
"localization_shown_for_fusion"
],
"was": "NO released human TF ChIP-seq experiment for NBN",
"is": "4 released TF ChIP-seq experiments: ENCSR278SQL GM12878, ENCSR210ZYL HepG2, ENCSR591EBL MCF-7, ENCSR085QEV K562",
"cycles_it_survived": 3,
"why_it_survived": "buried as one of seven absence-bearing fields under a single absence_class token, so an audit of the class saw one plausible word rather than seven claims"
}- How many other entries carry a false clause inside a correctly-classified absence field? gene-nbn was found by reading six entries, and one of the six was wrong. That rate cannot be extrapolated from n=6, but it is the cheapest audit available and nothing in this corpus has run it.
- Should `absences` become an array? It touches 243 entries and would make the multiplicity visible, but it also invites a migration that rewrites prose nobody re-read. The alternative is a required `absence_class_scope` naming WHICH gap the token describes, which is one field and no rewriting.
- The four NBN ENCODE experiments have never been read at the KMT2A intervals, and two of them are blood lines - GM12878 and K562. That is the lineage this project cares about and the one where BRCA1 was a clean zero. Reading them is compute on public data.
- E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.computation_on_this_corpus
243 node files carry data.absence_class; 40 have an absence- id, 109 a gene- id and 62 an ana- id, and 147 carry between 16 and 30 data fields. Six gene- entries sampled at seed 68 each carry 7 to 11 fields asserting a distinct absence under a single absence_class token: gene-nbn 7 of 23 fields, gene-atf4 10 of 21, gene-dna2 8 of 23, gene-palb2 8 of 23, gene-elp3 11 of 33, gene-eif2ak4 10 of 20.
Population and field-multiplicity audit of data.absence_class across the Oncofusion corpus · king, Oncofusion knowledge graph, cycle 68 · scripts/check-absence-class.py 2026What this evidence cannot show
The per-field absence count comes from a regex for negation words over fields longer than 25 characters, so it over-counts where a field merely mentions a negative and under-counts a gap stated without a negation word. It is a multiplicity estimate, not a census: the claim it supports is that the number is clearly greater than one per entry, which six of six sampled entries show, not that it is exactly 7-11. Six is also a small sample of 109, drawn from one id prefix.
Evidence that argues against this (2)
- The defensible counter-case is that a scalar `absence_class` was never meant to summarise every gap in an entry - it may have been intended as the class of the entry's PRINCIPAL absence, which for gene-nbn would be the fusion-side literature gap, and on that reading `never-measured` is correct and the field is being misread rather than misdesigned. That reading survives the data here. What it does not survive is the consequence: nothing in the entry says which gap is principal, so a reader cannot tell a scoped token from a summary one, and the false ENCODE clause sat unexamined either way.
- And the correction found here was not found by this audit's instrument. The false ENCODE clause was reported by a beat three cycles ago and fixed in sibling entries; what this audit added was noticing that one copy had been missed. A field-multiplicity argument did not detect a false claim - reading the fields did - so the schema proposal should be judged on the reading, not on the counting.
- E2established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database
NBN has an ENCODE target record and four released TF ChIP-seq experiments, contradicting two fields of gene-nbn. /targets/NBN-human/ returns HTTP 200, and a released-experiment search for target.label=NBN returns total 4: ENCSR278SQL (GM12878), ENCSR210ZYL (HepG2), ENCSR591EBL (MCF-7), ENCSR085QEV (K562). In the same session MRE11 returns 404 on the bare target record, so the endpoint discriminates.
ENCODE Portal: /targets/NBN-human/ HTTP 200 and 4 released TF ChIP-seq experiments for target.label NBN · ENCODE Project Consortium · ENCODE Portal 2026What this evidence cannot show
Fetched 2026-09-23. A released TF ChIP-seq experiment existing is not the same as the locus having been read: none of the four has been analysed at the KMT2A intervals, which is why the corrected class is measured-not-analysed rather than anything stronger. The 404 for MRE11 is reported as an endpoint control and not as a claim about MRE11, which has 14 ChIP-Atlas experiments under the retired symbol MRE11A.
Evidence that argues against this (1)
- This correction makes the NBN arm of the MRN asymmetry slightly worse rather than better for this project. NBN was the MRN member with the weakest DepMap dependency (-0.047) and the strongest human genetics, and the excuse available for the missing chromatin data was that ENCODE had never assayed it. It has - in four cell types including two blood lines - so the absence is now a reading gap this project owns rather than a hole in the archive.
that found the checker walking 40 of 243; this asks what the 243 are and finds them to be rich entries carrying 7-11 gaps each under one token
two fields of gene-nbn asserted no released ENCODE TF ChIP-seq experiment for NBN; four exist (ENCSR278SQL, ENCSR210ZYL, ENCSR591EBL, ENCSR085QEV), verified live on both endpoints
the cycle-65 sweep that first reported NBN's four ENCODE experiments; this finds one uncorrected copy of the false claim three cycles later and explains structurally why it was missed
that entry's gene-nbn case raised the worry that valid tokens are often the wrong token; reading four of the most-suspect entries found three correctly scoped, so the defect is scope visibility rather than correctness
the unscoped cases here are exactly its pattern - a mechanism entry and a drug entry each carrying several gaps under one token