Absorb metals cohort into v1 as v1.2 Path B extension#78
Conversation
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>
ROBOT validation — passesReplicated the kg-microbe robot template \
--template proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv \
--prefix "METPO: http://purl.obolibrary.org/obo/METPO_" \
--prefix "biolink: https://w3id.org/biolink/vocab/" \
--output /tmp/cm_classes.owl
robot template \
--template proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv \
--prefix "METPO: http://purl.obolibrary.org/obo/METPO_" \
--prefix "biolink: https://w3id.org/biolink/vocab/" \
--output /tmp/cm_props.owl
robot merge \
--input /tmp/cm_classes.owl \
--input /tmp/cm_props.owl \
--output /tmp/cm_merged.owl
robot reason --reasoner ELK \
--input /tmp/cm_merged.owl \
--axiom-generators "SubClass EquivalentClass" \
--output /tmp/cm_reasoned.owlAll four steps exit 0. The reasoned OWL contains:
|
There was a problem hiding this comment.
Pull request overview
This PR consolidates the previously separate metals cohort (metpo_communitymech_metals_v1) into the main metpo_communitymech_v1 proposal as a v1.2 Path B extension, unifying everything under a single subset tag and removing the redundant proposal directory.
Changes:
- Appends the metals cohort’s 8 class rows and 3 property rows into v1’s TSV templates, using the unified subset tag (
metpo_communitymech_2026_05). - Updates v1
proposal.mdto document the v1.2 extension (scope, hierarchy rationale for CHEBI reuse, predicates table, ID space, row counts, changelog). - Removes the now-obsolete
proposals/metpo_communitymech_metals_v1/proposal files.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| proposals/metpo_communitymech_v1/proposal.md | Documents the absorbed metals extension (v1.2) and updates scope/predicate/ID-space narrative. |
| proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv | Adds 3 new metals-related object properties (METPO:2008000–2008002) under the unified subset tag. |
| proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv | Adds 8 metals-related classes (METPO:1008000–1008013), including the corrected top-level parent and CHEBI-reuse grouping parents. |
| proposals/metpo_communitymech_metals_v1/proposal.md | Deleted (content absorbed into v1 proposal.md). |
| proposals/metpo_communitymech_metals_v1/metpo_proposal_properties_robot.tsv | Deleted (properties absorbed into v1 properties TSV). |
| proposals/metpo_communitymech_metals_v1/metpo_proposal_classes_robot.tsv | Deleted (classes absorbed into v1 classes TSV). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- 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>
Summary
Consolidate the separate `metpo_communitymech_metals_v1` cohort (merged in PR #77) into v1 as a v1.2 Path B extension. Per the post-merge discussion, the metals cohort being separate was a judgment call rather than an enforced skill rule — the CHEBI-reuse policy difference can be documented as a section in v1's proposal.md without partitioning into a separate subset tag.
What changed
MetalElementEnumandRareEarthElementEnum— CHEBI-reuse, no per-element leaves (v1.2)"Cohortcolumn flagging v1 / v1.1 / v1.2v1.2, 2026-05entry covering the absorption and CHEBI-reuse policyFinal state on `main`
proposals/metpo_communitymech_v1/metpo_communitymech_2026_05) on every rowTest plan
awk -F'\t' 'NF != 11' classes_robot.tsvreturns nothingawk -F'\t' 'NF != 12' properties_robot.tsvreturns nothingrobot templateparses both TSVs cleanly🤖 Generated with Claude Code