Found reviewing PR #364. Pre-existing; no gate can see it.
NCBITaxon:169215 is the plant genus Bosea (Eukaryota → Viridiplantae → Amaranthaceae, rank genus). Two records use it for the alphaproteobacterium and carry a bacterial GTDB block derived from it:
kb/communities/MSC1_Dominant_Core.yaml — Bosea sp.
kb/communities/EcoFAB_Ring_Trial_SynCom17.yaml — Bosea sp. OAE506
both with gtdb_lineage: d__Bacteria;p__Pseudomonadota;…;g__Bosea.
The block was produced by a name collision: gtdb_ground.py's higher-rank path matches on the cleaned label string, never on the id, so "Bosea" resolved to the bacterial genus while the id points at a plant.
Invisible to every existing gate. ncbi_source_id == term.id, so the freshness test added in #364 passes. "Bosea" genuinely is NCBITaxon:169215's label, so id↔label correspondence passes. linkml-validate has nothing to say.
Same defect class as the two entries deliberately withheld under #292 — except here the block was written rather than withheld.
Candidate correct ids (a curation call, which is why this is filed rather than fixed): NCBI appears to have renamed the alphaproteobacterial genus — NCBITaxon:85413 is now Allobosea, and NCBITaxon:1871050 is Bosea sp. (in: a-proteobacteria).
Mechanical guard worth adding either way: if gtdb_lineage starts d__Bacteria or d__Archaea, then term.id must sit under NCBITaxon:2 or NCBITaxon:2157. GTDB is prokaryote-only, so a eukaryotic id carrying a prokaryotic lineage is always wrong. That check would have caught this at write time.
Found reviewing PR #364. Pre-existing; no gate can see it.
NCBITaxon:169215is the plant genus Bosea (Eukaryota → Viridiplantae → Amaranthaceae, rank genus). Two records use it for the alphaproteobacterium and carry a bacterial GTDB block derived from it:kb/communities/MSC1_Dominant_Core.yaml—Bosea sp.kb/communities/EcoFAB_Ring_Trial_SynCom17.yaml—Bosea sp. OAE506both with
gtdb_lineage: d__Bacteria;p__Pseudomonadota;…;g__Bosea.The block was produced by a name collision:
gtdb_ground.py's higher-rank path matches on the cleaned label string, never on the id, so "Bosea" resolved to the bacterial genus while the id points at a plant.Invisible to every existing gate.
ncbi_source_id == term.id, so the freshness test added in #364 passes. "Bosea" genuinely isNCBITaxon:169215's label, so id↔label correspondence passes.linkml-validatehas nothing to say.Same defect class as the two entries deliberately withheld under #292 — except here the block was written rather than withheld.
Candidate correct ids (a curation call, which is why this is filed rather than fixed): NCBI appears to have renamed the alphaproteobacterial genus —
NCBITaxon:85413is nowAllobosea, andNCBITaxon:1871050isBosea sp. (in: a-proteobacteria).Mechanical guard worth adding either way: if
gtdb_lineagestartsd__Bacteriaord__Archaea, thenterm.idmust sit underNCBITaxon:2orNCBITaxon:2157. GTDB is prokaryote-only, so a eukaryotic id carrying a prokaryotic lineage is always wrong. That check would have caught this at write time.