Skip to content

Extend METPO v1: AtmosphereEnum + MediaRelationshipEnum (Path B)#76

Merged
realmarcin merged 2 commits into
mainfrom
claude/metpo-v1-extend-atmosphere-media
May 20, 2026
Merged

Extend METPO v1: AtmosphereEnum + MediaRelationshipEnum (Path B)#76
realmarcin merged 2 commits into
mainfrom
claude/metpo-v1-extend-atmosphere-media

Conversation

@realmarcin
Copy link
Copy Markdown
Contributor

Summary

Path B append-only extension of the merged `metpo_communitymech_v1` cohort per the `metpo-proposal` skill. Adds 14 class rows and 2 property rows in a fresh ID block, leaving existing v1 IDs unchanged and reusing the same subset tag.

Added classes (METPO:1007300–METPO:1007315)

  • New top-level domain class `community-relevant growth medium` (`METPO:1007300`) lifting `GrowthMedia` and `RelatedMedia`
  • AtmosphereEnum lifted as `atmosphere requirement` (`METPO:1007301`) + 6 flat leaves: AEROBIC, ANAEROBIC, MICROAEROBIC, FACULTATIVE_ANAEROBIC, FACULTATIVE_AEROBIC, CAPNOPHILIC
  • MediaRelationshipEnum lifted as `growth media relationship type` (`METPO:1007310`) + 5 flat leaves: CULTIVATION_MEDIUM, ISOLATION_MEDIUM, ENVIRONMENT_ANALOG, REFERENCED_IN_STUDY, SELECTIVE_ENRICHMENT

Added predicates (METPO:2007200–METPO:2007201)

Property Domain Range Source slot
`has atmosphere requirement` `METPO:1007300` `METPO:1007301` `GrowthMedia.atmosphere`
`has growth media relationship` `METPO:1007300` `METPO:1007310` `RelatedMedia.relationship_type`

proposal.md changes (per skill's 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 the ID-block choice (1007300 / 2007200 — both well above the v1 high water marks 1007220 / 2007113 per the skill's `>=10`-above rule)

Verification

  • All 11 new enum permissible values mapped to leaf class rows (11/11)
  • All 88 `SC %` parent references resolve in-file or to known METPO IRIs (88/88)
  • Both TSVs column-count clean (11 / 12)
  • Same subset tag (`metpo_communitymech_2026_05`) on every row
  • (follow-up) `robot template` parses both TSVs and `robot reason --reasoner ELK` shows no UNSAT

🤖 Generated with Claude Code

…Enum

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) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 20, 2026 03:30
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Append-only “Path B” extension to the existing metpo_communitymech_v1 proposal, adding METPO placeholder IDs for two additional CommunityMech enums related to growth media (atmosphere requirements and media relationship types), plus two corresponding object properties.

Changes:

  • Extended proposal.md to document the v1.1 ID blocks, scope rows, file row counts, and a v1.1 changelog entry.
  • Added 14 new class rows (including a new growth-medium domain class and enum parents/leaves) to the classes ROBOT template.
  • Added 2 new object property rows to the properties ROBOT template for GrowthMedia.atmosphere and RelatedMedia.relationship_type.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
proposals/metpo_communitymech_v1/proposal.md Updates proposal narrative to describe the v1.1 extension (scope, ID blocks, row counts, changelog).
proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv Adds new growth-media-related class IDs (domain class + enum parents/leaves).
proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv Adds two new object properties for atmosphere requirement and growth media relationship type.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread proposals/metpo_communitymech_v1/proposal.md Outdated
Comment thread proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv Outdated
- 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) <noreply@anthropic.com>
@realmarcin realmarcin merged commit c327e11 into main May 20, 2026
@realmarcin realmarcin deleted the claude/metpo-v1-extend-atmosphere-media branch May 20, 2026 03:49
realmarcin added a commit that referenced this pull request May 20, 2026
* Absorb metpo_communitymech_metals_v1 into v1 as v1.2 Path B

Per discussion, the separate metals cohort was a judgment call rather
than an enforced rule. The CHEBI-reuse policy difference (per-element
leaves remain CHEBI IRIs) is real but can be documented as a section
within v1's proposal rather than partitioned into its own subset tag.
Consolidating into v1 reduces upstream-side bookkeeping (one subset
tag, one proposal directory to maintain) at the cost of one extra
proposal.md section explaining the CHEBI-reuse policy.

Changes:
- Append the 8 class rows and 3 property rows from the metals cohort
  to v1's TSVs. Subset tag updated from
  metpo_communitymech_metals_2026_05 -> metpo_communitymech_2026_05.
  METPO:1008000 parent changed from METPO:1007100 (microbial
  community) to METPO:1000000 (peer top-level domain class, same fix
  pattern as METPO:1007300 in PR #76 review).
- v1's proposal.md updated:
  - Scope table: 3 new rows for MetalElementEnum (CHEBI-reuse),
    RareEarthElementEnum (CHEBI-reuse), MetalRelevanceEnum
  - Top-level domain classes table: 5 rows now (added
    METPO:1008000 community-relevant metal context for v1.2)
  - New "MetalElementEnum and RareEarthElementEnum - CHEBI-reuse"
    subsection under Hierarchy decisions
  - Predicate-proposals table: 19 rows now (added cohort column,
    v1.2 entries for has_metal_element_present /
    has_rare_earth_element_present / has_metal_relevance)
  - ID space section: v1.2 block documented (1008000-1008013 /
    2008000-2008002, deliberately starting at 1008000 to visually
    separate CHEBI-reuse from all-leaves-minted classes)
  - Files row counts: 98 / 21 lines now
  - Change log: v1.2 entry covering the absorbed cohort and CHEBI-
    reuse policy
- proposals/metpo_communitymech_metals_v1/ directory removed.

Final state on main:
- proposals/metpo_communitymech_v1/ only (single cohort)
- 96 class rows + 19 property rows (was 88+16 in v1.1, plus 8+3
  absorbed from the standalone metals cohort)
- Same subset tag (metpo_communitymech_2026_05) on every row
- Coverage: 67/67 enum permissible values across 12 enums covered
  by leaf or grouping-parent class rows
- Parent integrity: 96/96 SC % references resolve

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Address Copilot review on PR #78

- proposal.md Context paragraph: update stale "9 community-shaped
  enums" / "14 object properties" tallies to the v1+v1.1+v1.2
  accumulated scope. Explicit enumeration of the 12 in-scope
  enums plus the 2 CHEBI-anchor enums (MetalElementEnum,
  RareEarthElementEnum) plus the 4 out-of-scope machine-identifier
  enums (DatasetTypeEnum, DatasetRepositoryEnum,
  ExternalResourceRepositoryEnum, CultureCollectionEnum) so the
  total accounting matches the Scope table and Files row counts.
- METPO:1008001 definition (community-relevant metal element):
  fix grammatical flip ("metals that community members are present
  in, oxidize, reduce, ...") which read as organisms being present
  IN metals. Reworded to: "metals (atoms or cations) ... that are
  present in the community and/or oxidized, reduced, sequestered,
  leached, or otherwise metabolized by community members" so the
  metals-are-the-passive-objects relation matches the schema slot
  MicrobialCommunity.metals_present.

Re-ran the kg-microbe ROBOT pipeline locally (robot template ->
merge -> reason --reasoner ELK with SubClass + EquivalentClass
axiom generators) - all four steps exit 0; 0 owl:Nothing
references in the reasoned output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants