You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MISMATCH is the bucket that matters. Every one of these is a claim where the paper is cached and the quote is not in it.
Why it grew, and why that is good
On main MISMATCH was 190 and NOCONTENT was 379. #593 gave 238 previously-unverifiable snippets a real source; 132 turned out faithful and 106 did not. The 106 were always wrong — they were simply unexaminable.
The top three are worth looking at first not because they are largest but because two of them (BioAsteroid, Lunar_Simulant) come from the space/regolith curation cohort, which suggests a systematic problem with one curation pass rather than 31 independent errors.
How to work it — and one rule that is easy to get wrong
uv run python scripts/evidence_snippet_audit.py --list-mismatch prints them with a diff against the closest cached text.
A MISMATCH is not automatically a fabrication. Before rewriting anything, check in this order:
Is it a rendering artefact the normaliser did not catch? e.g. B S _PETase for BsPETase. Those belong in RENDERING; if one is landing in MISMATCH the normaliser needs the case, and the snippet must not be edited to match the cache (the justfile is explicit).
Is the reference simply the wrong paper for the claim? Seen twice recently — a genome announcement cited for cultivation conditions.
Only then treat it as a paraphrase to be replaced with a real quote, or a claim to be withdrawn.
Doing (4) first would "fix" the corpus by editing quotes to match whatever text happens to be cached, which is worse than the current state.
Follow-up from #593. Filed so the backlog that PR exposes is tracked rather than left implicit in a diff.
What the number is
scripts/evidence_snippet_audit.pyclassifies every one of the 5271 evidence snippets. After #593:MISMATCH is the bucket that matters. Every one of these is a claim where the paper is cached and the quote is not in it.
Why it grew, and why that is good
On
mainMISMATCH was 190 and NOCONTENT was 379. #593 gave 238 previously-unverifiable snippets a real source; 132 turned out faithful and 106 did not. The 106 were always wrong — they were simply unexaminable.The worklist
296 snippets across 78 records. Concentrated:
The top three are worth looking at first not because they are largest but because two of them (
BioAsteroid,Lunar_Simulant) come from the space/regolith curation cohort, which suggests a systematic problem with one curation pass rather than 31 independent errors.How to work it — and one rule that is easy to get wrong
uv run python scripts/evidence_snippet_audit.py --list-mismatchprints them with a diff against the closest cached text.A MISMATCH is not automatically a fabrication. Before rewriting anything, check in this order:
cache_fulltext.pyfirst. This is the mistake corrected in Two records I curated from abstracts were wrong, not just thin (#183) #577/The partial record was not partial, I searched badly (#183) #578 and it accounted for several apparent "misattributions" there.B S _PETaseforBsPETase. Those belong in RENDERING; if one is landing in MISMATCH the normaliser needs the case, and the snippet must not be edited to match the cache (the justfile is explicit).Doing (4) first would "fix" the corpus by editing quotes to match whatever text happens to be cached, which is worse than the current state.