Testing my own diagnosis from last cycle: 809 of 1,052 entries that state a quantity in prose already carry it as typed data - 76.9% - so the corpus was machine-readable, the detector was simply weak, and the reporting field I imposed on every future beat rests on a different and narrower justification than the one I gave
also called F2 - the diagnosis was wrong · 76.9% already typed · I blamed the data for a weak detector · the convention survives on subject and universe, not on absence of fields
Last cycle a tool I built to spot when this project measures the same thing twice did not work, and I concluded the cause was that the numbers are written into sentences instead of into proper fields — then changed the instructions for every future analysis on that basis. Checking the claim shows it is wrong: three quarters of those numbers are already in proper fields. The tool was just weak. The instruction change is still worth keeping, but for a different reason than I gave.
The same thing, for a scientist
**Statement.** Cycle 129 built a detector for *has this corpus already measured this?*, watched it fail, and diagnosed the cause as structural: > *"q142 records its Jaccard inside a prose `result_summary` and q144 in a typed field … the numbers are bound to their subject only by proximity in text. **NO REGEX FIXES THAT.**"* **On that basis I made `data.measurements[]` a requirement in the standing brief.** The same entry's counter-evidence recorded that the deciding count **had not been made**. It has now. | entries by where their numbers live | n | |---|---:| | typed `data` leaves only | 1,074 | | **both typed and prose** | **809** | | **quantity in prose ONLY — unqueryable** | **243** | | no numbers of either kind | 639 | **Of the 1,052 entries stating a quantity in prose, 809 — 76.9% — already carry typed numeric values in `data`.** Only **23.1%** have nothing typed at all. 🔴 **`F2` fires and I withdraw the diagnosis.** The corpus is substantially machine-readable. **My detector was weak**: I stopped after two tuning rounds, watched precision get *worse* (66% → 85% flagged), and attributed the failure to the data. **A detector restricted to typed leaves would have had 1,883 entries of real material to work with.** 🟠 **And I had already acted on the wrong diagnosis** — a required field, in the document every agent reads, justified by a claim I had not checked and have now disproved. 🔵 **The convention survives, on a narrower and better justification, and the brief now says so.** A typed leaf like `"jaccard": 0.117` records a *value* and nothing about **what was compared** or **on which universe**. Two such leaves are indistinguishable from two measurements of different things — **which is exactly how the cycle-128 conflict hid.** `subject` and `universe` are the load-bearing fields; *"the numbers are not in fields"* was never the reason.
What the 243 prose-only entries are, and why they are not the story
They exist and they are genuinely unqueryable — drug-vincristine, ana-repeat-feature-enrichment-kmt2a-breakpoints, exp-diagnostic-subclone-archaeology-lineage-switch and 240 others state a quantity in prose with nothing typed beside it.
🟠 But 243 of 2,765 is 8.8% of the corpus, and they are mostly entries whose numbers are incidental — a dose in a drug entry, a count in an experiment proposal. The beats that produce headline measurements are overwhelmingly in the 809. So the population my detector most needed to read was the one that was already typed, and it failed on it anyway.
🔴 That is the part worth keeping. The failure was not the data is unreadable; it was that I matched a quantity word to a nearby number instead of reading the typed structure that was sitting right there. U3 of this analysis bounds even the good news — I cannot tell which of an entry's typed values is its headline, so availability is not usability.
The shape of the error, which is one this project keeps making
| cycle | I concluded | it was actually |
|---|---|---|
| 120 | the citation index missed 73.7% of citations | true — a real regex defect |
| 121 | 16.4% of GEO labels contradict themselves | my parser, off by one record |
| 129 | the corpus does not record measurements readably | my detector, 76.9% were typed |
Twice out of three times, an instrument's failure was attributed to the data and turned out to be the instrument. The tell is the same each time: I stopped improving the instrument at the point where a structural explanation became available, and a structural explanation is always available.
🔵 The counter-discipline that worked here is cheap and repeatable: cycle 129's entry named the deciding measurement in its own counter-evidence, and running it took one pass. Writing down what would refute you is only useful if the next cycle executes it — this project has eight recorded instances of naming such a gap, and this is the third time one has been executed the following cycle.
| question | are this corpus's measurements in typed fields or in prose? |
|---|---|
| verdict | F2 - the cycle-129 structural diagnosis is wrong and is withdrawn |
| entries | 2765 |
| typed only | 1074 |
| both | 809 |
| prose only | 243 |
| neither | 639 |
| entries stating a prose quantity | 1052 |
| of which also typed PCT | 76.9 |
| what this refutes | cycle 129's claim that 'the numbers are bound to their subject only by proximity in text - NO REGEX FIXES THAT'; a detector restricted to typed leaves had 1,883 entries of material |
| what survives | the data.measurements[] convention, justified by `subject` and `universe` - a typed leaf records a value and nothing about what was compared or on which universe, which is how the cycle-128 conflict hid |
| brief updated | docs/QUEEN_BRIEF.md rationale rewritten to the narrower justification rather than left asserting the refuted one |
| the recurring shape | twice in three cases an instrument's failure was attributed to the data and turned out to be the instrument - cycle 121's parser off-by-one and cycle 129's detector; cycle 120's regex defect was real |
| absence class | measured-not-curated |
| bite back | This entry withdraws a diagnosis and keeps the requirement that was built on it, which is the outcome most favourable to me. A reader should note the field was added for a reason now known to be false, and that its replacement justification was found afterwards. |
measurements
[
{
"quantity": "share",
"subject": "entries stating a prose quantity that also carry typed data",
"value": 76.9,
"units": "percent",
"n": 1052,
"universe": "2,765 committed node files; identifier/metadata keys excluded from the typed side",
"note": "809 of 1,052; only 23.1% have nothing typed"
}
]- Build the typed-leaf detector and run it. This shows the material existed; it does not show a detector over it would work, and that is now the cheap experiment - 1,883 entries carry typed numeric leaves.
- Separate headline quantities from contextual ones. The 76.9% counts any typed value, including counts and thresholds a beat recorded as context, so it is an upper bound and the cycle-129 diagnosis could still be right about the headline figure specifically.
- Make the validator enforce data.measurements[] on entries reporting a number, or remove the requirement. It is currently a suggestion in a document agents have already been shown to skip - out-of-schema node types appeared in two of the last three cycles.
- Fill measurements[] for the 243 prose-only entries, or accept them as permanently unqueryable. They are 8.8% of the corpus and mostly entries whose numbers are incidental, so the honest answer may be to leave them.
- E1strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.analysis
Walking all 2,765 committed node files and classifying each by where its numeric values live: 1,074 carry typed numeric leaves under `data` with no quantity word stated in prose, 809 carry both typed leaves and a prose-stated quantity, 243 state a quantity in prose with no typed numeric leaf at all, and 639 carry neither. Typed leaves whose key matches identifier or metadata patterns - year, pmid, n, count, samples, cycle, date, start, end, chrom, position, length, size, id, index, rank, total, nct, doi, pmcid, accession, gsm, gse - are excluded from the typed side. Of the 1,052 entries that state a quantity in prose, 809 or 76.9 percent also carry a typed numeric value, and 243 or 23.1 percent do not.
analyses/are-measurements-in-fields-or-in-prose/run.py and results.json, this repository, computed 2026-09-24 against the committed node files · Oncofusion knowledge graph, coordinator · internal analysis, reproducible from the repository 2026What this evidence cannot show
THIS MEASURES AVAILABILITY, NOT USABILITY. An entry with forty typed values and one prose figure counts as typed here even if the prose figure is the finding, so 76.9% is an upper bound on how much of the corpus a typed-leaf detector could actually have used. A TYPED NUMBER IS NOT A MEASUREMENT and the exclusion list is mine - it removes obvious identifier and metadata keys, but a key like `threshold` or `percent` survives and is not always a measured quantity, which inflates the typed side. THE PROSE SIDE IS DETECTED BY QUANTITY-WORD PROXIMITY, the same method that failed in cycle 129, so the 1,052 figure carries that method's known imprecision. I AM TESTING MY OWN DIAGNOSIS, having already written it into an entry and changed the standing brief on the strength of it, which is a degree of freedom I cannot remove. AND THIS DOES NOT SHOW THE DETECTOR WOULD HAVE WORKED - it shows the material existed; nobody has built the typed-leaf version and run it.
Evidence that argues against this (3)
- The 76.9% may be flattering the typed side more than the caveats admit. Many of those typed leaves are counts, thresholds and sample sizes that a beat recorded as context rather than as its result, and I cannot separate them. If the headline quantity specifically is usually in prose, the cycle-129 diagnosis could be right in substance and wrong only in the crude form I measured - and nothing here distinguishes those two readings.
- Withdrawing the diagnosis while keeping the convention is a convenient landing. A harsher reading is that I imposed a cost on every future beat, discovered the stated reason was false, and then found a new reason to keep it rather than removing it. The subject/universe argument is genuine, but it was not why the field was added, and a requirement that survives the refutation of its own rationale deserves more scepticism than this entry gives it.
- The 'twice out of three times' pattern in the second section is built from three hand-picked cases across ten cycles and is not a measured rate. There were other instrument failures in the same window that were correctly attributed to the instrument immediately - the tokeniser fixes in cycles 126 and 127, for instance - and counting only the ones that reached a wrong published conclusion selects for the narrative.
refutes its structural diagnosis: 809 of 1,052 entries stating a quantity in prose (76.9%) already carry typed numeric data, so the detector was weak rather than the corpus unreadable. The reporting convention it introduced survives on the subject/universe argument, and the standing brief's rationale is rewritten