Found in the round-1 review of #244 (#84).
Where: scripts/fleet/build_subsets.py scan(). rx.findall(txt) runs over the whole record text, including notes, change logs and data_source lines.
Example: MediaIngredientMech's mapped/Cobalamine.yaml is grounded at CHEBI:30411 (cobalamin). Its notes say the old CAS number belonged to cob(I)alamin, "ChEBI:15982 … a THIRD oxidation state", and was cleared. Once #244 folds the ChEBI: spelling, the CommunityMech–MediaIngredientMech overlap lists CHEBI:15982 cob(I)alamin as a term the two share. The record rejects that term. Uppercase CHEBI: mentions in prose have always been matched the same way, so this predates #244; #244 only adds one such instance.
Fix: decide whether overlap terms should come only from structured fields (the STRICT positions, lists of ids) rather than any mention. That is a methodology change to the overlaps, for its own PR.
Found in the round-1 review of #244 (#84).
Where:
scripts/fleet/build_subsets.pyscan().rx.findall(txt)runs over the whole record text, including notes, change logs anddata_sourcelines.Example: MediaIngredientMech's
mapped/Cobalamine.yamlis grounded at CHEBI:30411 (cobalamin). Its notes say the old CAS number belonged to cob(I)alamin, "ChEBI:15982 … a THIRD oxidation state", and was cleared. Once #244 folds theChEBI:spelling, the CommunityMech–MediaIngredientMech overlap lists CHEBI:15982 cob(I)alamin as a term the two share. The record rejects that term. UppercaseCHEBI:mentions in prose have always been matched the same way, so this predates #244; #244 only adds one such instance.Fix: decide whether overlap terms should come only from structured fields (the
STRICTpositions, lists of ids) rather than any mention. That is a methodology change to the overlaps, for its own PR.