Shared Discussion (knowledge gaps) + Dataset module — TraitMech reference integration (claw#7 Phase 1)#119
Merged
Conversation
…aitRecord
Phase 1 of the DisMech feature adoption (culturebotai-claw#7). Introduces the
canonical, byte-identical shared LinkML module
src/traitmech/schema/mech_shared.yaml:
* Discussion — broad discourse/knowledge-gap supertype (kind enum incl.
KNOWLEDGE_GAP/OPEN_QUESTION/CONTROVERSY/CURATION_TODO/EMERGING_HYPOTHESIS/
INTERPRETATION/HUMAN_MODEL_MISMATCH; lifecycle status; free-form
`attaches_to` hash-anchor pointers; slim `proposed_experiments`; `evidence`).
* Dataset — lightweight public-data reference; canonical DatasetTypeEnum
(omics + microbial: AMPLICON/METAGENOMICS/METATRANSCRIPTOMICS/GENOMICS/…)
and DatasetRepositoryEnum (SRA/GEO/ENA/MGnify/JGI GOLD+IMG/NMDC/…).
* ProposedExperiment — domain-neutral resolution sketch.
`Discussion.evidence` / `Dataset.evidence` resolve to the IMPORTING schema's
`EvidenceItem`, so each Mech reuses its own evidence model (no duplicate class,
no collision). TraitRecord gains `discussions` + `datasets` slots; `attaches_to`
anchors into `causal_graphs#<edge>`.
TraitMech is the greenfield reference integration (no dataset migration needed).
Validated: `gen-pydantic` compiles (Discussion/Dataset/ProposedExperiment emitted,
EvidenceItem resolves); a sample TraitRecord with a KNOWLEDGE_GAP discussion +
METAGENOMICS dataset passes `linkml-validate` (No issues found).
Next (claw#7): vendor this module byte-identical + sha-pin across MIM /
CommunityMech / CultureMech, with the Dataset migration for CultureMech
(`Dataset`) and CommunityMech (`AssociatedDataset`).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, naming Addresses the four requested adjustment areas: - Self-contained evidence: drop the `range: EvidenceItem` dependency on the importing schema; define `SupportingReference` (+ `SupportLevelEnum`) in the module. Discussion.evidence / Dataset.evidence now reference it. Module validates STANDALONE (gen-pydantic clean) and needs no per-repo reconciliation (MIM's MappingEvidence no longer matters). Each record keeps its own primary EvidenceItem; discussions/datasets carry SupportingReference citations. - Dataset enums grounded in reality: DatasetTypeEnum / DatasetRepositoryEnum are now the faithful UNION of the existing CultureMech + CommunityMech enums (plus microbial additions), with the old→new migration map documented inline so the Phase-2 migration of those two repos is loss-preserving. - Naming & constraints: field is `dataset_type` (matches both repos, was `data_type`); `accession`/`description` recommended; `url` range uri; documented `attaches_to` `<section>#<anchor>` grammar; CultureMech `dataset_id` → `accession` and CommunityMech `name` → `title` migration notes inline. - ProposedExperiment: `model_systems` is now multivalued (matches DisMech's plurality); `name` recommended. Validated: module standalone gen-pydantic (exit 0, SupportingReference + Discussion + Dataset + ProposedExperiment emitted); full traitmech schema gen-pydantic (exit 0); sample TraitRecord instance with a KNOWLEDGE_GAP discussion + METAGENOMICS dataset passes linkml-validate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
realmarcin
added a commit
that referenced
this pull request
Jun 18, 2026
Completes the cross-Mech pin: TraitMech (which introduced the module in #119, before the pin recipe existed) now also pins mech_shared.yaml. All four Mechs now carry the byte-identical module (1a5e21eb) + an identical sha sidecar. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 1 of the cross-Mech DisMech feature adoption (CultureBotAI/culturebotai-claw#7). Introduces the canonical, byte-identical shared LinkML module and wires it into TraitMech as the greenfield reference integration.
What's here
src/traitmech/schema/mech_shared.yaml(new canonical module, to be vendored byte-identical across all four Mechs):Discussion— broad knowledge-gap/discourse supertype.kind∈ {KNOWLEDGE_GAP, OPEN_QUESTION, CONTROVERSY, CURATION_TODO, EMERGING_HYPOTHESIS, INTERPRETATION, HUMAN_MODEL_MISMATCH}; lifecyclestatus; free-formattaches_tohash-anchor pointers; slimproposed_experiments;evidence.Dataset— lightweight public-data reference.DatasetTypeEnumreconciles CultureMech's omics types + microbial additions (AMPLICON/METAGENOMICS/METATRANSCRIPTOMICS/GENOMICS/…);DatasetRepositoryEnumfrom CommunityMech's orientation (SRA/GEO/ENA/MGnify/JGI GOLD+IMG/NMDC/…).ProposedExperiment— domain-neutral resolution sketch.TraitRecordgainsdiscussions+datasetsslots (attaches_to→causal_graphs#<edge>).Design note (please eyeball)
Discussion.evidence/Dataset.evidenceuserange: EvidenceItem, resolving to the importing schema'sEvidenceItem— so each Mech reuses its own evidence model, the module defines no collidingEvidenceItem/Datasetclasses, and stays byte-identical. (MIM hasMappingEvidence, notEvidenceItem— its adoption will need a small reconciliation; tracked in claw#7.)Validation
gen-pydanticcompiles with no errors;Discussion/Dataset/ProposedExperimentemitted;EvidenceItemresolves.TraitRecordwith aKNOWLEDGE_GAPdiscussion (+proposed_experiments) and aMETAGENOMICSdataset passeslinkml-validate("No issues found").Next (claw#7)
Vendor this module byte-identical + sha-pin across MIM / CommunityMech / CultureMech; do the Dataset migration for CultureMech (
Dataset) and CommunityMech (AssociatedDataset); MIMEvidenceItemreconciliation.🤖 Generated with Claude Code