Found reviewing PR #316. A curation-policy question, not a code defect.
UNKNOWN_SOURCE/UNKNOWN_TARGET are error-severity (they gate), and are suppressed only when the interaction carries scope: COMMUNITY_LEVEL. Schema makes scope optional with ifabsent: string(PAIRWISE).
Scanning the KB: 23 interaction participants across 17 records name organisms deliberately absent from taxonomy — hosts (Medicago truncatula (host legume), Arabidopsis thaliana, Lactuca sativa (lettuce host)), pathogens (Rhizoctonia solani, Aeromonas hydrophila), and umbrella placeholders (anode, three-species model community). Every one escapes the gate solely because its interaction is COMMUNITY_LEVEL.
Verified: deleting the scope key from the one interaction in Rice_Duckweed_Bacillus_SynCom.yaml yields 2 error findings and exit 3 — a red build on a record that is otherwise correct.
Arguably the gate is behaving correctly (a PAIRWISE edge to a non-member is dangling). But it means the gate has a 23-case blast radius behind a single optional key, and the underlying question is unresolved: should hosts and antagonists be taxonomy members? #307's counter-selection proposal asks the mirror-image question about excluded candidates, and its recommendation there was "no".
Worth deciding deliberately rather than discovering via a red build.
Found reviewing PR #316. A curation-policy question, not a code defect.
UNKNOWN_SOURCE/UNKNOWN_TARGETare error-severity (they gate), and are suppressed only when the interaction carriesscope: COMMUNITY_LEVEL. Schema makesscopeoptional withifabsent: string(PAIRWISE).Scanning the KB: 23 interaction participants across 17 records name organisms deliberately absent from
taxonomy— hosts (Medicago truncatula (host legume),Arabidopsis thaliana,Lactuca sativa (lettuce host)), pathogens (Rhizoctonia solani,Aeromonas hydrophila), and umbrella placeholders (anode,three-species model community). Every one escapes the gate solely because its interaction isCOMMUNITY_LEVEL.Verified: deleting the
scopekey from the one interaction inRice_Duckweed_Bacillus_SynCom.yamlyields 2 error findings and exit 3 — a red build on a record that is otherwise correct.Arguably the gate is behaving correctly (a PAIRWISE edge to a non-member is dangling). But it means the gate has a 23-case blast radius behind a single optional key, and the underlying question is unresolved: should hosts and antagonists be
taxonomymembers? #307's counter-selection proposal asks the mirror-image question about excluded candidates, and its recommendation there was "no".Worth deciding deliberately rather than discovering via a red build.