From aca16582585667c57c29ca54d1dbc3b34aa588f8 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 19 May 2026 20:30:01 -0700 Subject: [PATCH 1/2] Extend metpo_communitymech_v1 with AtmosphereEnum + MediaRelationshipEnum Path B append-only extension of the v1 cohort per the metpo-proposal skill (.claude/skills/metpo-proposal/skill.md). Adds 14 class rows and 2 property rows in a fresh ID block, leaving existing v1 IDs unchanged and the same subset tag (metpo_communitymech_2026_05). Added classes (METPO:1007300-1007315): - 1 new top-level domain class "community-relevant growth medium" (METPO:1007300, parent METPO:1007100) lifting GrowthMedia and RelatedMedia - AtmosphereEnum: 1 enum-parent + 6 flat leaves (AEROBIC / ANAEROBIC / MICROAEROBIC / FACULTATIVE_ANAEROBIC / FACULTATIVE_AEROBIC / CAPNOPHILIC) - MediaRelationshipEnum: 1 enum-parent + 5 flat leaves (CULTIVATION_MEDIUM / ISOLATION_MEDIUM / ENVIRONMENT_ANALOG / REFERENCED_IN_STUDY / SELECTIVE_ENRICHMENT) Added predicates (METPO:2007200-2007201): - has atmosphere requirement: GrowthMedia.atmosphere -> METPO:1007300 -> METPO:1007301 - has growth media relationship: RelatedMedia.relationship_type -> METPO:1007300 -> METPO:1007310 proposal.md updates per the Path B convention: - Scope table extended with two new rows flagged "(v1.1)" - ID space section now shows separate v1 and v1.1 blocks - Files section row-count updated (90 / 18) - Change log entry "v1.1, 2026-05" describing the extension and ID block choice (1007300 / 2007200, both well above the v1 high water marks 1007220 / 2007113 per the skill's >=10-above rule) Coverage check: 11/11 new enum permissible values mapped to leaf class rows; 88/88 SC % parent references resolve in-file or to existing METPO IRIs (METPO:1000000, METPO:1000525). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../metpo_proposal_classes_robot.tsv | 14 +++++++ .../metpo_proposal_properties_robot.tsv | 2 + proposals/metpo_communitymech_v1/proposal.md | 40 +++++++++++++++---- 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv b/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv index 8cc992e9..0b2e3b5a 100644 --- a/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv +++ b/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv @@ -74,3 +74,17 @@ METPO:1007217 biotechnology community A microbial community category for communi METPO:1007218 extreme environment community A microbial community category for communities from extreme conditions (acidophilic, alkaliphilic, thermophilic, halophilic, hyperbaric, irradiated, etc.). CommunityMech:communitymech.yaml#CommunityCategoryEnum.EXTREME_ENVIRONMENT METPO:1007205 extremophile community metpo_communitymech_2026_05 HIGH CommunityCategoryEnum.EXTREME_ENVIRONMENT METPO:1007219 syntrophy-defined community A microbial community category for communities defined primarily by syntrophic metabolic cooperation between members (e.g., interspecies hydrogen transfer in anaerobic digestion). CommunityMech:communitymech.yaml#CommunityCategoryEnum.SYNTROPHY METPO:1007205 syntrophic community metpo_communitymech_2026_05 HIGH CommunityCategoryEnum.SYNTROPHY METPO:1007220 other community category A microbial community category for communities that do not fit any of the predefined functional or environmental groupings. CommunityMech:communitymech.yaml#CommunityCategoryEnum.OTHER METPO:1007200 uncategorized community metpo_communitymech_2026_05 MEDIUM CommunityCategoryEnum.OTHER +METPO:1007300 community-relevant growth medium A growth medium or environmentally-related medium associated with a microbial community, either used for cultivation of community members or designated by curators as analogous to the community's environment. Top-level domain class lifting CommunityMech GrowthMedia and RelatedMedia. CommunityMech:communitymech.yaml#GrowthMedia METPO:1007100 growth medium|culture medium|community medium metpo_communitymech_2026_05 HIGH top-level domain class for v1.1 extension +METPO:1007301 atmosphere requirement The atmospheric or oxygen requirement of a growth medium, distinguishing aerobic, anaerobic, microaerobic, facultative, and specialized (e.g., CO2-requiring) cultivation conditions. CommunityMech:communitymech.yaml#AtmosphereEnum METPO:1007300 atmosphere category|oxygen requirement category metpo_communitymech_2026_05 HIGH enum-parent for AtmosphereEnum +METPO:1007302 aerobic atmosphere requirement An atmosphere-requirement value indicating that the medium requires oxygen for growth. CommunityMech:communitymech.yaml#AtmosphereEnum.AEROBIC METPO:1007301 obligate aerobic atmosphere|oxygen-required atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.AEROBIC +METPO:1007303 anaerobic atmosphere requirement An atmosphere-requirement value indicating that the medium supports growth only in the absence of oxygen (strict anaerobe). CommunityMech:communitymech.yaml#AtmosphereEnum.ANAEROBIC METPO:1007301 strict anaerobic atmosphere|obligate anaerobic atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.ANAEROBIC +METPO:1007304 microaerobic atmosphere requirement An atmosphere-requirement value indicating that the medium requires low oxygen levels (typically 2-10%). CommunityMech:communitymech.yaml#AtmosphereEnum.MICROAEROBIC METPO:1007301 microaerophilic atmosphere|low-oxygen atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.MICROAEROBIC +METPO:1007305 facultative anaerobic atmosphere requirement An atmosphere-requirement value indicating that the medium supports growth with or without oxygen, with no preference required. CommunityMech:communitymech.yaml#AtmosphereEnum.FACULTATIVE_ANAEROBIC METPO:1007301 facultatively anaerobic atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.FACULTATIVE_ANAEROBIC +METPO:1007306 facultative aerobic atmosphere requirement An atmosphere-requirement value indicating that the medium is preferentially aerobic but supports growth anaerobically as well. CommunityMech:communitymech.yaml#AtmosphereEnum.FACULTATIVE_AEROBIC METPO:1007301 facultatively aerobic atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.FACULTATIVE_AEROBIC +METPO:1007307 capnophilic atmosphere requirement An atmosphere-requirement value indicating that the medium requires elevated CO2 levels. CommunityMech:communitymech.yaml#AtmosphereEnum.CAPNOPHILIC METPO:1007301 CO2-requiring atmosphere|elevated-CO2 atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.CAPNOPHILIC +METPO:1007310 growth media relationship type The type of relationship between a microbial community and a growth medium, distinguishing actual cultivation media from environmentally analogous or study-referenced media. CommunityMech:communitymech.yaml#MediaRelationshipEnum METPO:1007300 medium relationship category metpo_communitymech_2026_05 HIGH enum-parent for MediaRelationshipEnum +METPO:1007311 cultivation medium relationship A growth-media-relationship value indicating that the medium was actually used for cultivation of community members. CommunityMech:communitymech.yaml#MediaRelationshipEnum.CULTIVATION_MEDIUM METPO:1007310 cultivation medium|primary cultivation medium metpo_communitymech_2026_05 HIGH MediaRelationshipEnum.CULTIVATION_MEDIUM +METPO:1007312 isolation medium relationship A growth-media-relationship value indicating that the medium was used for initial isolation of community members from the environment. CommunityMech:communitymech.yaml#MediaRelationshipEnum.ISOLATION_MEDIUM METPO:1007310 isolation medium metpo_communitymech_2026_05 HIGH MediaRelationshipEnum.ISOLATION_MEDIUM +METPO:1007313 environment analog medium relationship A growth-media-relationship value indicating that the medium was designed to mimic the community's natural environment. CommunityMech:communitymech.yaml#MediaRelationshipEnum.ENVIRONMENT_ANALOG METPO:1007310 environment-mimicking medium|environmental analog medium metpo_communitymech_2026_05 HIGH MediaRelationshipEnum.ENVIRONMENT_ANALOG +METPO:1007314 referenced-in-study medium relationship A growth-media-relationship value indicating that the medium is referenced in a study of this community but not necessarily used for cultivation. CommunityMech:communitymech.yaml#MediaRelationshipEnum.REFERENCED_IN_STUDY METPO:1007310 study-referenced medium metpo_communitymech_2026_05 MEDIUM MediaRelationshipEnum.REFERENCED_IN_STUDY +METPO:1007315 selective enrichment medium relationship A growth-media-relationship value indicating that the medium was used for selective enrichment of specific functional groups within the community. CommunityMech:communitymech.yaml#MediaRelationshipEnum.SELECTIVE_ENRICHMENT METPO:1007310 selective enrichment medium|enrichment medium metpo_communitymech_2026_05 HIGH MediaRelationshipEnum.SELECTIVE_ENRICHMENT diff --git a/proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv b/proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv index 916c3245..fe43dd73 100644 --- a/proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv +++ b/proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv @@ -14,3 +14,5 @@ METPO:2007110 has community origin A relation between a microbial community and METPO:2007111 has ecological state A relation between a microbial community and an ecological-state class describing whether the community is stable, perturbed, engineered, or transient/developing. CommunityMech:communitymech.yaml#MicrobialCommunity.ecological_state owl:ObjectProperty METPO:1007100 METPO:1007180 metpo_communitymech_2026_05 HIGH community ecological state 0..1 cardinality METPO:2007112 has evidence support level A relation between a microbial community evidence item and an evidence-support-level class indicating how the cited reference relates to the claim (direct support, partial support, no evidence, misattribution, or active refutation). CommunityMech:communitymech.yaml#EvidenceItem.supports owl:ObjectProperty METPO:1007102 METPO:1007150 metpo_communitymech_2026_05 HIGH support level of cited reference required, 1..1 cardinality METPO:2007113 has evidence source type A relation between a microbial community evidence item and an evidence-source class indicating the provenance category of the evidence (in vitro, in vivo, computational, review, other). CommunityMech:communitymech.yaml#EvidenceItem.evidence_source owl:ObjectProperty METPO:1007102 METPO:1007160 metpo_communitymech_2026_05 HIGH provenance of evidence required, 1..1 cardinality +METPO:2007200 has atmosphere requirement A relation between a community-relevant growth medium and the atmosphere-requirement class describing its O2 / CO2 needs. CommunityMech:communitymech.yaml#GrowthMedia.atmosphere owl:ObjectProperty METPO:1007300 METPO:1007301 metpo_communitymech_2026_05 HIGH atmosphere assignment to growth medium 0..1 cardinality +METPO:2007201 has growth media relationship A relation between a community-relevant growth medium and a growth-media-relationship-type class describing how the medium relates to the community (actual cultivation, isolation, environmental analog, etc.). CommunityMech:communitymech.yaml#RelatedMedia.relationship_type owl:ObjectProperty METPO:1007300 METPO:1007310 metpo_communitymech_2026_05 HIGH media-to-community relationship category 0..1 cardinality diff --git a/proposals/metpo_communitymech_v1/proposal.md b/proposals/metpo_communitymech_v1/proposal.md index 2f365641..6757358c 100644 --- a/proposals/metpo_communitymech_v1/proposal.md +++ b/proposals/metpo_communitymech_v1/proposal.md @@ -33,6 +33,8 @@ level assertions the same way. | `CommunityCategoryEnum` | `community functional category` (`METPO:1007200`) | 15 | 5 (thematic groupings) | 123–155 | | `CommunityOriginEnum` | `community origin type` (`METPO:1007190`) | 3 | 0 (flat) | 97–105 | | `EcologicalStateEnum` | `community ecological state` (`METPO:1007180`) | 4 | 0 (flat) | 85–95 | +| `AtmosphereEnum` (v1.1) | `atmosphere requirement` (`METPO:1007301`) | 6 | 0 (flat) | 228–243 | +| `MediaRelationshipEnum` (v1.1) | `growth media relationship type` (`METPO:1007310`) | 5 | 0 (flat) | 107–121 | Plus three new **top-level domain classes** (children of `METPO:1000000`): @@ -127,22 +129,25 @@ semantically meaningful. ## ID space and subset -- **Classes**: `METPO:1007100`–`METPO:1007220` (placeholder, within the - KG-Microbe-reserved 1007xxx range per the SKILL.md placeholder policy) -- **Properties**: `METPO:2007100`–`METPO:2007113` (placeholder) +- **Classes**: + - v1: `METPO:1007100`–`METPO:1007220` (placeholder, within the KG-Microbe-reserved 1007xxx range per the SKILL.md placeholder policy) + - v1.1 extension: `METPO:1007300`–`METPO:1007315` (AtmosphereEnum + MediaRelationshipEnum + shared top-level domain class `community-relevant growth medium` at `METPO:1007300`) +- **Properties**: + - v1: `METPO:2007100`–`METPO:2007113` + - v1.1 extension: `METPO:2007200`–`METPO:2007201` - **Subset tag** on every row: `metpo_communitymech_2026_05` - **Definition source** on every leaf row: `CommunityMech:communitymech.yaml#.` - for direct enum lifts; `TODO:add_citation` for the 10 intermediate grouping - parents (which are introduced in this proposal, not lifted from the schema). + for direct enum lifts; `CommunityMech:proposals/metpo_communitymech_v1/proposal.md#hierarchy-decisions` + for the 10 intermediate grouping parents introduced in this proposal. - **Priority**: `HIGH` on all rows that come directly from CommunityMech enums; - `MEDIUM` on `OTHER` catch-all leaves. + `MEDIUM` on `OTHER` catch-all leaves and `REFERENCED_IN_STUDY` medium-relationship value. ## Files | File | Rows | Notes | | --- | --- | --- | -| `metpo_proposal_classes_robot.tsv` | 1 column header + 1 ROBOT header + 74 class rows = 76 lines | mirror of `kg-microbe/mappings/metpo_proposal_classes_robot.tsv` schema | -| `metpo_proposal_properties_robot.tsv` | 1 column header + 1 ROBOT header + 14 property rows = 16 lines | mirror of `kg-microbe/mappings/metpo_proposal_properties_robot.tsv` schema | +| `metpo_proposal_classes_robot.tsv` | 1 column header + 1 ROBOT header + 88 class rows = 90 lines (74 in v1 + 14 in v1.1 extension) | mirror of `kg-microbe/mappings/metpo_proposal_classes_robot.tsv` schema | +| `metpo_proposal_properties_robot.tsv` | 1 column header + 1 ROBOT header + 16 property rows = 18 lines (14 in v1 + 2 in v1.1 extension) | mirror of `kg-microbe/mappings/metpo_proposal_properties_robot.tsv` schema | | `proposal.md` | (this file) | narrative for reviewer | ## Verification @@ -203,3 +208,22 @@ When this proposal is approved here in CommunityMech: - **v1, 2026-05**: Initial proposal. 74 class rows (9 enums, 3 top-level domain classes, 10 intermediate grouping parents) + 14 property rows. +- **v1.0.1, 2026-05 (revised)**: Addressed Copilot review on PR #74. + Replaced kg-microbe relative link with absolute GitHub URL; added + `kb/communities/` prefixes to verification example YAMLs; narrowed + `has supporting evidence` (METPO:2007106) definition to match its + domain METPO:1007101; replaced 10 `TODO:add_citation` placeholders + with the proposal-narrative anchor URL; replaced overbroad + `ecological interaction` synonym on METPO:1007101 with two precise + variants. +- **v1.1, 2026-05**: Path B extension. Added `AtmosphereEnum` + (`METPO:1007301`–`METPO:1007307`, 1 enum-parent + 6 leaves) and + `MediaRelationshipEnum` (`METPO:1007310`–`METPO:1007315`, 1 + enum-parent + 5 leaves), under a shared new top-level domain class + `community-relevant growth medium` (`METPO:1007300`). Added 2 new + predicates: `has atmosphere requirement` (`METPO:2007200`) and + `has growth media relationship` (`METPO:2007201`). New ID block + starts at `1007300` / `2007200` per the skill's Path B rule + (at least 10 above the v1 high-water marks of `1007220` / + `2007113`). Total now: 88 class rows + 16 property rows. Same + subset tag. From 9f60892de2ab825bb89ebdd96b6d6ef3f36afef6 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 19 May 2026 20:40:30 -0700 Subject: [PATCH 2/2] Address Copilot review on PR #76 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - proposal.md: update the "three top-level domain classes" wording and the table beneath it to include the v1.1 addition, METPO:1007300 community-relevant growth medium (lifts GrowthMedia + RelatedMedia). Also corrected the "total class rows" tally to reflect the new accumulated count (88: 4 + 11 + 10 + 63). - classes TSV: change METPO:1007300 parent from METPO:1007100 (microbial community) to METPO:1000000 (METPO root). The intent always was a peer top-level domain class — growth media are not a kind of microbial community, they're a separate domain that communities relate to. The previous parent would have asserted GrowthMedia subclass-of MicrobialCommunity, which yields incorrect inferences. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../metpo_proposal_classes_robot.tsv | 2 +- proposals/metpo_communitymech_v1/proposal.md | 23 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv b/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv index 0b2e3b5a..98d97678 100644 --- a/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv +++ b/proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv @@ -74,7 +74,7 @@ METPO:1007217 biotechnology community A microbial community category for communi METPO:1007218 extreme environment community A microbial community category for communities from extreme conditions (acidophilic, alkaliphilic, thermophilic, halophilic, hyperbaric, irradiated, etc.). CommunityMech:communitymech.yaml#CommunityCategoryEnum.EXTREME_ENVIRONMENT METPO:1007205 extremophile community metpo_communitymech_2026_05 HIGH CommunityCategoryEnum.EXTREME_ENVIRONMENT METPO:1007219 syntrophy-defined community A microbial community category for communities defined primarily by syntrophic metabolic cooperation between members (e.g., interspecies hydrogen transfer in anaerobic digestion). CommunityMech:communitymech.yaml#CommunityCategoryEnum.SYNTROPHY METPO:1007205 syntrophic community metpo_communitymech_2026_05 HIGH CommunityCategoryEnum.SYNTROPHY METPO:1007220 other community category A microbial community category for communities that do not fit any of the predefined functional or environmental groupings. CommunityMech:communitymech.yaml#CommunityCategoryEnum.OTHER METPO:1007200 uncategorized community metpo_communitymech_2026_05 MEDIUM CommunityCategoryEnum.OTHER -METPO:1007300 community-relevant growth medium A growth medium or environmentally-related medium associated with a microbial community, either used for cultivation of community members or designated by curators as analogous to the community's environment. Top-level domain class lifting CommunityMech GrowthMedia and RelatedMedia. CommunityMech:communitymech.yaml#GrowthMedia METPO:1007100 growth medium|culture medium|community medium metpo_communitymech_2026_05 HIGH top-level domain class for v1.1 extension +METPO:1007300 community-relevant growth medium A growth medium or environmentally-related medium associated with a microbial community, either used for cultivation of community members or designated by curators as analogous to the community's environment. Top-level domain class lifting CommunityMech GrowthMedia and RelatedMedia. CommunityMech:communitymech.yaml#GrowthMedia METPO:1000000 growth medium|culture medium|community medium metpo_communitymech_2026_05 HIGH top-level domain class for v1.1 extension METPO:1007301 atmosphere requirement The atmospheric or oxygen requirement of a growth medium, distinguishing aerobic, anaerobic, microaerobic, facultative, and specialized (e.g., CO2-requiring) cultivation conditions. CommunityMech:communitymech.yaml#AtmosphereEnum METPO:1007300 atmosphere category|oxygen requirement category metpo_communitymech_2026_05 HIGH enum-parent for AtmosphereEnum METPO:1007302 aerobic atmosphere requirement An atmosphere-requirement value indicating that the medium requires oxygen for growth. CommunityMech:communitymech.yaml#AtmosphereEnum.AEROBIC METPO:1007301 obligate aerobic atmosphere|oxygen-required atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.AEROBIC METPO:1007303 anaerobic atmosphere requirement An atmosphere-requirement value indicating that the medium supports growth only in the absence of oxygen (strict anaerobe). CommunityMech:communitymech.yaml#AtmosphereEnum.ANAEROBIC METPO:1007301 strict anaerobic atmosphere|obligate anaerobic atmosphere metpo_communitymech_2026_05 HIGH AtmosphereEnum.ANAEROBIC diff --git a/proposals/metpo_communitymech_v1/proposal.md b/proposals/metpo_communitymech_v1/proposal.md index 6757358c..ae037486 100644 --- a/proposals/metpo_communitymech_v1/proposal.md +++ b/proposals/metpo_communitymech_v1/proposal.md @@ -36,20 +36,23 @@ level assertions the same way. | `AtmosphereEnum` (v1.1) | `atmosphere requirement` (`METPO:1007301`) | 6 | 0 (flat) | 228–243 | | `MediaRelationshipEnum` (v1.1) | `growth media relationship type` (`METPO:1007310`) | 5 | 0 (flat) | 107–121 | -Plus three new **top-level domain classes** (children of `METPO:1000000`): +Plus four new **top-level domain classes** (children of `METPO:1000000`): -| ID | Label | Lifts CommunityMech class | -| --- | --- | --- | -| `METPO:1007100` | microbial community | `MicrobialCommunity` | -| `METPO:1007101` | microbial community ecological interaction | `EcologicalInteraction` | -| `METPO:1007102` | microbial community evidence item | `EvidenceItem` | +| ID | Label | Lifts CommunityMech class | Added in | +| --- | --- | --- | --- | +| `METPO:1007100` | microbial community | `MicrobialCommunity` | v1 | +| `METPO:1007101` | microbial community ecological interaction | `EcologicalInteraction` | v1 | +| `METPO:1007102` | microbial community evidence item | `EvidenceItem` | v1 | +| `METPO:1007300` | community-relevant growth medium | `GrowthMedia` and `RelatedMedia` | v1.1 | -Each `enum-parent` class is a child of one of those three domain classes (e.g., +Each `enum-parent` class is a child of one of those four domain classes (e.g., `community functional category` sits under `microbial community`; -`evidence item support level` sits under `microbial community evidence item`). +`evidence item support level` sits under `microbial community evidence item`; +`atmosphere requirement` sits under `community-relevant growth medium`). -Total class rows: **74** (3 top-level domain + 9 enum-parents + 10 intermediate -groupings + 52 leaves from enums). +Total class rows: **88** (4 top-level domain + 11 enum-parents + 10 intermediate +groupings + 63 leaves from enums; the v1.1 extension added 1 top-level + 2 +enum-parents + 11 leaves on top of v1's 3 + 9 + 10 + 52 = 74). ## Hierarchy decisions