Skip to content

just validate-references performs zero checks, so the verbatim-snippet guarantee is untested #466

Description

@realmarcin

Found in the review of #465, and it explains how eight truncated snippets survived.

snippet is meant to be a verbatim quote from the cited paper — the evidence model rests on it. snippet carries implements: linkml:excerpt in the schema, and conf/reference_validator.yaml points at a populated references_cache/ (715 entries). But the validator runs no checks at all:

$ just validate-references kb/communities/Geobacter_Clostridium_Interspecies_Electron_Transfer_Coculture.yaml
Validation Summary:
  Total checks: 0
  All validations passed!

Same for every record tried, and identical on main. So it passes vacuously — a green run says nothing was checked, not that anything is right.

That is how a snippet reading "...couple the electron balance with o" survived, and seven more like it across five records (all repaired in #465). Nothing else covers this: validate-scalars (#398) detects a different defect — a plain scalar swallowed by a # comment — and correctly reports 0 for these, which are well-formed scalars that merely stop early.

CLAUDE.md says validate-references does "snippet validation against abstracts", and the recipe comment says it "can verify snippets taken from a paper's Methods/Results". Neither is currently true.

Worth determining whether this is a configuration problem (the validator not finding the slot or the cache), a version change in linkml-reference-validator, or something the qc-references path exercises differently. Note #417 took validate-references-all out of qc because it failed on main — worth checking whether that path does real work while the single-file one does not.

#465 added tests/test_snippets_are_not_truncated.py, which does the verbatim comparison directly against references_cache/ and catches the mid-word class. That is narrower than what this validator is supposed to do (it says nothing about paraphrase — #347) but it is currently the only thing checking snippets against sources at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions