← Back

📑 Contents

Scaffold discrepancy classification — 2026-09-19ResultInvalid representativesDecision

Scaffold discrepancy classification — 2026-09-19


Result


Correction from the follow-up audit: the classifier used identity-overlap equality in its category logic, not scaffold-overlap equality. The original zero-change interpretation is withdrawn. See review-20260919-1817/AUDIT.md and evidence.json.


The saved 9,594 scaffold-string mismatches break down as follows:


  • Exact scaffold and overlap agreement: 222,148
  • String differences without scaffold-membership change: 7,853
  • Both scaffold string and scaffold-overlap membership changed: 1,741
  • Membership lost: 1,295; gained: 446

  • Identity-overlap flags still agree, but scaffold-overlap memberships do change. Chemical equivalence of differing scaffold strings is not established merely by this comparison. Seven invalid representatives are excluded from the classification.


    Invalid representatives


    The seven invalid stored representative SMILES were traced to source CIDs:


  • 123087, 123092, 71502, 134512, 159639, 166991 — isotope-labelled source records where hydrogen normalization produced invalid stored representatives.
  • 14858 — a phosphorus valence/normalization case; it is not isotope-labelled, and the source SMILES parses successfully while the stored normalized representative does not.

  • For all seven, the original source SMILES parses under the pinned RDKit environment and recomputes to the declared identity14. The source structures therefore support a deterministic repair policy: preserve the source isotope/valence representation, canonicalize with isomericSmiles=True, recompute identity and exact mass, and reject only source rows that fail parsing or identity validation.


    Decision


  • Keep the production index unchanged.
  • Quarantine scaffold strings for novelty/Regime-C use; candidate mass retrieval is not affected by these string-only differences.
  • Treat the seven invalid representatives as a builder normalization defect requiring a repair or deterministic rejection policy before any rebuild.
  • Do not claim the PubChem normalization gate complete.

  • Artifact: reports/phase3a-pubchem-scaffold-discrepancy-20260919.json.

    Script: scripts/classify_phase3a_pubchem_scaffolds.py.