{
  "@context": {
    "@vocab": "https://w3id.org/monarch-initiative/mechregistry/"
  },
  "mechs": [
    {
      "id": "ai-gene-review",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "ai-gene-review",
      "description": "ai-gene-review is an agent-curated knowledge base of Gene Ontology annotation reviews. One record per gene product: each record takes every existing GO annotation for the gene from GOA and gives it a review action (ACCEPT, MODIFY, REMOVE, MARK_AS_OVER_ANNOTATED, KEEP_AS_NON_CORE and others) with a reason and supporting evidence. The record also holds a standalone summary of the gene, its core functions as GO-CAM-like activities, proposed new GO terms, and suggested questions and experiments for experts. Reviews cover human, mouse, worm, yeast, fly, plant and many microbial gene products. Agents fetch the UniProt record, the GOA annotations and the cited publications, add deep research and bioinformatics, and write the review, which arrives by pull request. ai-gene-review is not strictly a Mech: each record reviews annotations that another resource holds, rather than being the canonical record for its gene. It keeps the Mech practices of a LinkML schema, ontology grounding, verbatim evidence and an append-only curation history.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://ai4curation.github.io/ai-gene-review",
      "repository": "https://github.com/ai4curation/ai-gene-review",
      "schema_url": "https://github.com/ai4curation/ai-gene-review/blob/main/src/ai_gene_review/schema/gene_review.yaml",
      "domains": [
        "genomics",
        "biological systems",
        "pathways",
        "organisms"
      ],
      "record_type": "a gene product and the review of its existing GO annotations",
      "record_count": 6760,
      "record_count_date": "2026-10-12",
      "record_count_commit": "00d0f98ed7f4e212daf095364a8de2864f32a422",
      "record_count_source": {
        "path": "genes",
        "pattern": "*-ai-review.yaml"
      },
      "record_identifier_policy": "Records are keyed by UniProtKB accession and named <GENE>-ai-review.yaml under genes/<organism>/<GENE>/. Organisms are a common name (human, mouse, worm, yeast) or a UniProt species code (ARATH, PSEPK). Gene symbols follow the nomenclature for the species.",
      "ontologies": [
        "GO",
        "ECO",
        "NCBITaxon"
      ],
      "data_sources": [
        {
          "name": "GOA",
          "url": "https://www.ebi.ac.uk/QuickGO/",
          "relation_type": "prov:hadPrimarySource",
          "description": "The existing GO annotations under review, downloaded through the QuickGO API."
        },
        {
          "name": "UniProtKB",
          "url": "https://www.uniprot.org/",
          "relation_type": "prov:hadPrimarySource",
          "description": "The UniProt record for each gene product, which supplies the record identifier."
        },
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:used",
          "description": "Cited publications, cached as text so that supporting quotes can be checked."
        },
        {
          "name": "Reactome",
          "url": "https://reactome.org/",
          "relation_type": "prov:used",
          "description": "Cached Reactome entries used as pathway context."
        },
        {
          "name": "GO-CAM",
          "url": "https://geneontology.cloud/",
          "relation_type": "prov:used",
          "description": "Cached production GO-CAM models, indexed by gene product."
        },
        {
          "name": "PANTHER",
          "url": "https://www.pantherdb.org/",
          "relation_type": "prov:used",
          "description": "Protein family membership for family-level review and propagation."
        }
      ],
      "license": {
        "id": "https://opensource.org/licenses/BSD-3-Clause",
        "label": "BSD 3-Clause License",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "dragon-ai-agent",
          "Codex",
          "goose"
        ],
        "evidence_policy": "Each review action carries a reason. Conclusive decisions on experimental annotations are expected to cite a PMID or DOI with supporting text quoted from the paper, and validation checks reference identifiers, titles and quotes against cached publication text. Ontology term identifiers are checked against their labels to catch fabricated terms.",
        "validation": [
          "schema",
          "ontology_terms",
          "references"
        ],
        "curation_history": true,
        "curation_guide_url": "https://github.com/ai4curation/ai-gene-review/blob/main/CLAUDE.md"
      },
      "features": [
        "evidence_snippets",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "AI4Curation",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "ai4curation"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Christopher J. Mungall",
          "orcid": "0000-0002-6601-2165",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "cjmungall@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "cmungall"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "ai-gene-review.records",
          "category": "RecordCorpus",
          "name": "Gene reviews",
          "description": "One <GENE>-ai-review.yaml file per gene product under genes/<organism>/<GENE>/, next to the UniProt record, GOA annotations, notes and deep research it was written from.",
          "product_url": "https://github.com/ai4curation/ai-gene-review/tree/main/genes",
          "format": "yaml"
        },
        {
          "id": "ai-gene-review.schema",
          "category": "DataModelProduct",
          "name": "Gene review LinkML schema",
          "product_url": "https://github.com/ai4curation/ai-gene-review/blob/main/src/ai_gene_review/schema/gene_review.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml"
          ]
        },
        {
          "id": "ai-gene-review.app",
          "category": "GraphicalInterface",
          "name": "Gene review browser",
          "description": "A searchable browser of the reviews. Review pages take thumbs-up and thumbs-down votes on individual decisions.",
          "product_url": "https://ai4curation.io/ai-gene-review/app/index.html",
          "format": "html"
        },
        {
          "id": "ai-gene-review.annotations",
          "category": "OtherProduct",
          "name": "Exported annotations",
          "description": "One row per reviewed annotation, with the review action, reason and supporting text.",
          "product_url": "https://github.com/ai4curation/ai-gene-review/blob/main/exports/exported_annotations.csv",
          "format": "csv"
        },
        {
          "id": "ai-gene-review.stats",
          "category": "DocumentationProduct",
          "name": "Statistics report",
          "product_url": "https://ai4curation.io/ai-gene-review/docs/stats_report.html",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "adopts_practice_of",
          "description": "The history/ directory of append-only curation session records, with its schema, layout, scaffolder and validation, is ported from DisMech."
        }
      ],
      "tags": [
        "Mech-like"
      ],
      "creation_date": "2026-10-06",
      "last_modified_date": "2026-10-06"
    },
    {
      "id": "aimech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "AIMech",
      "description": "AIMech extends the Mech curation workflow from biology to artificial intelligence. One record is one AI concept: a model, layer, training strategy, task, bias or the like. It holds two kinds. Imported records are a deterministic projection of the Artificial Intelligence Ontology (AIO), pinned to release 2026-07-22, and are all NOT_REVIEWED. Curated records cover concepts absent from AIO, under stable AIMech IDs with primary evidence, claim-specific citations and explicit AIO mappings, and are all DRAFT. Ontology membership is not taken as evidence of a model's performance, safety or mechanism.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/AIMech/",
      "repository": "https://github.com/CultureBotAI/AIMech",
      "schema_url": "https://github.com/CultureBotAI/AIMech/blob/main/src/aimech/schema/aimech.yaml",
      "collection": [
        "x-mech-suite"
      ],
      "domains": [
        "machine learning",
        "information technology"
      ],
      "record_type": "an artificial intelligence concept",
      "record_count": 1088,
      "record_count_date": "2026-10-13",
      "record_count_commit": "b9b06695283c1322e58995a000f4a6b6e3e5fb07",
      "record_count_source": {
        "path": "data",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "The AIO CURIE for imported concepts. A stable, minted AIMech CURIE for curated concepts absent from AIO.",
      "identifier_prefix": "AIMech",
      "ontologies": [
        "AIO",
        "BFO"
      ],
      "data_sources": [
        {
          "name": "Artificial Intelligence Ontology",
          "url": "https://github.com/berkeleybop/artificial-intelligence-ontology",
          "relation_type": "prov:hadPrimarySource",
          "description": "The 442 named AIO classes, from a pinned release snapshot."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://opensource.org/license/bsd-3-clause",
        "label": "BSD-3-Clause",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Curated concepts need inspected primary evidence, claim-specific citations, and an explicit AIO mapping or a documented no-match assessment. Scientific reviews are saved separately from records.",
        "validation": [
          "schema",
          "corpus_reproduction"
        ],
        "curation_history": true
      },
      "features": [
        "ontology_grounding",
        "append_only_history",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "aimech.records",
          "category": "RecordCorpus",
          "name": "AI concept records",
          "description": "Imported AIO records under data/aio/ and curated records under data/curated/.",
          "product_url": "https://github.com/CultureBotAI/AIMech/tree/main/data",
          "format": "yaml"
        },
        {
          "id": "aimech.schema",
          "category": "DataModelProduct",
          "name": "AIMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/AIMech/blob/main/src/aimech/schema/aimech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "aimech.browser",
          "category": "GraphicalInterface",
          "name": "AIMech browser",
          "product_url": "https://culturebotai.github.io/AIMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of",
          "description": "Applies the Mech curation workflow outside biology."
        }
      ],
      "creation_date": "2026-10-13",
      "last_modified_date": "2026-10-13"
    },
    {
      "id": "antibioticmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "AntibioticMech",
      "description": "AntibioticMech is a knowledge base of individual chemical structures with antimicrobial activity, harmonized from ChEBI and CARD's Antibiotic Resistance Ontology. One record is one chemical structure, keyed by its ChEBI identifier and carrying SMILES, InChI and InChIKey. A class such as macrolide antibiotic is not a record. It is a structural_class on the records it covers. Each record carries what the compound hits, how microbes resist it, and the evidence for both.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/AntibioticMech/",
      "repository": "https://github.com/CultureBotAI/AntibioticMech",
      "schema_url": "https://github.com/CultureBotAI/AntibioticMech/blob/main/src/antibioticmech/schema/antibioticmech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "chemistry and biochemistry",
        "pharmacology",
        "microbiology"
      ],
      "record_type": "an antimicrobial chemical structure",
      "record_count": 2939,
      "record_count_date": "2026-10-12",
      "record_count_commit": "0611c4ed87a1d089aea7b1a1f60d3b32b9f57d32",
      "record_count_source": {
        "path": "data/antibiotics",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "A ChEBI CURIE where the entry has a structure, otherwise a minted, content-hashed CURIE. A record with no InChIKey is never written.",
      "identifier_prefix": "antibioticmech",
      "ontologies": [
        "CHEBI",
        "ARO",
        "CAS",
        "PubChem",
        "DrugBank",
        "NCBITaxon"
      ],
      "data_sources": [
        {
          "name": "ChEBI",
          "url": "https://www.ebi.ac.uk/chebi/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Structures, definitions and antimicrobial class terms."
        },
        {
          "name": "CARD",
          "url": "https://card.mcmaster.ca/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Antibiotic Resistance Ontology classification, molecular targets and resistance determinants."
        },
        {
          "name": "PubChem",
          "url": "https://pubchem.ncbi.nlm.nih.gov/",
          "relation_type": "prov:used",
          "description": "The structures CARD's cross-references point at."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Targets and resistance determinants carry evidence. Candidate sources are ranked in a source queue and their licences verified and recorded before ingestion.",
        "validation": [
          "schema",
          "ontology_terms",
          "references",
          "corpus_reproduction"
        ],
        "curation_history": true
      },
      "features": [
        "causal_mechanism_graphs",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser",
        "embeddings_explorer"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "antibioticmech.records",
          "category": "RecordCorpus",
          "name": "Antibiotic records",
          "description": "One YAML file per structure under data/antibiotics/<class>/.",
          "product_url": "https://github.com/CultureBotAI/AntibioticMech/tree/main/data/antibiotics",
          "format": "yaml"
        },
        {
          "id": "antibioticmech.schema",
          "category": "DataModelProduct",
          "name": "AntibioticMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/AntibioticMech/blob/main/src/antibioticmech/schema/antibioticmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "antibioticmech.browser",
          "category": "GraphicalInterface",
          "name": "AntibioticMech browser",
          "description": "Every record by antimicrobial class, with structures, sources, CARD targets and resistance determinants.",
          "product_url": "https://culturebotai.github.io/AntibioticMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "naturalproductmech",
          "relation": "provides_to",
          "description": "Supplies antimicrobial classification and cross-corpus links."
        },
        {
          "target": "cellstructuremech",
          "relation": "provides_to",
          "description": "Wrote the licensed source-queue pattern that CellStructureMech adapted."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "cellstructuremech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "CellStructureMech",
      "description": "CellStructureMech is a knowledge base of microbial cell structures: organelles, envelope layers, appendages, microcompartments, inclusions, cytoskeletal systems and the multi-protein complexes that build them. One record is a structure you could point to in a micrograph, from a whole organelle down to a discrete complex such as the flagellar motor. A record holds components with stoichiometry and UniProt examples, taxonomic distribution, GO functions with evidence, the TraitMech phenotypes it confers, and causal graphs of assembly, operation and regulation with every edge cited. It fills the layer between a phenotype in TraitMech and a protein in ProteinTraitsMech.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/CellStructureMech/",
      "repository": "https://github.com/CultureBotAI/CellStructureMech",
      "schema_url": "https://github.com/CultureBotAI/CellStructureMech/blob/main/src/cellstructuremech/schema/cellstructuremech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "microbiology",
        "biological systems",
        "anatomy and development"
      ],
      "taxon": [
        "NCBITaxon:2",
        "NCBITaxon:2157"
      ],
      "record_type": "a microbial cell structure or multi-protein complex",
      "record_count": 909,
      "record_count_date": "2026-10-12",
      "record_count_commit": "937ba6254eb987adcbd92e82b21b2ce8651dc5e3",
      "record_count_source": {
        "path": "data/structures",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "A GO cellular component CURIE where one exists, otherwise a minted CURIE.",
      "ontologies": [
        "GO",
        "NCBITaxon",
        "UniProt",
        "METPO",
        "Pfam",
        "PDB"
      ],
      "data_sources": [
        {
          "name": "UniProtKB",
          "url": "https://www.uniprot.org/",
          "relation_type": "prov:used",
          "description": "Taxon-paired protein examples for components."
        },
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Evidence on functions and on causal graph edges."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every causal graph edge and every function claim carries a citation. Candidate sources are ranked in a source queue and their licences verified before ingestion.",
        "validation": [
          "schema",
          "ontology_terms",
          "references",
          "corpus_reproduction"
        ],
        "curation_history": true,
        "curation_guide_url": "https://github.com/CultureBotAI/CellStructureMech/blob/main/docs/CURATION.md"
      },
      "features": [
        "causal_mechanism_graphs",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser",
        "embeddings_explorer"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "cellstructuremech.records",
          "category": "RecordCorpus",
          "name": "Structure records",
          "product_url": "https://github.com/CultureBotAI/CellStructureMech/tree/main/data/structures",
          "format": "yaml"
        },
        {
          "id": "cellstructuremech.schema",
          "category": "DataModelProduct",
          "name": "CellStructureMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/CellStructureMech/blob/main/src/cellstructuremech/schema/cellstructuremech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "cellstructuremech.browser",
          "category": "GraphicalInterface",
          "name": "CellStructureMech browser",
          "description": "Every record by category, with components, distribution, functions and mechanism graphs, plus a text embedding map with nearest neighbours.",
          "product_url": "https://culturebotai.github.io/CellStructureMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "traitmech",
          "relation": "consumes",
          "description": "A structure lists the phenotypes it confers as TraitMech or METPO terms, and its causal-graph node vocabulary is TraitMech's plus a STRUCTURE node type."
        },
        {
          "target": "proteintraitsmech",
          "relation": "hands_off_to",
          "description": "A single protein is a component of a structure, never a record of its own. It grounds to InterPro or UniProtKB and hands off to ProteinTraitsMech."
        },
        {
          "target": "antibioticmech",
          "relation": "adopts_practice_of",
          "description": "Adapted AntibioticMech's licensed source-queue pattern."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "cmmmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "CMMMech",
      "description": "CMMMech is a knowledge base of critical minerals and materials and the microbial mechanisms that extract, transform or recover them. One record is one material: an element, a mineral species, or a secondary resource such as spent batteries or smelter dust. A record carries its chemical or mineral identity, dated criticality designations (US and EU lists), and microbial mechanisms with explicit evidence boundaries, such as missing abiotic controls. Elements, minerals and impure experimental feeds are kept distinct, and no record inherits criticality it was not designated.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/CMMMech/",
      "repository": "https://github.com/CultureBotAI/CMMMech",
      "schema_url": "https://github.com/CultureBotAI/CMMMech/blob/main/src/cmmmech/schema/cmmmech.yaml",
      "collection": [
        "x-mech-suite"
      ],
      "domains": [
        "microbiology",
        "chemistry and biochemistry",
        "environment"
      ],
      "record_type": "a critical mineral, element or secondary resource",
      "record_count": 278,
      "record_count_date": "2026-10-13",
      "record_count_commit": "11a0b0f8e2714f1863304faf408da4ce0e7c5b53",
      "record_count_source": {
        "path": "data/records",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "A minted CURIE from the material name, such as cmmmech:cobalt, with ChEBI or IMA identifiers attached.",
      "identifier_prefix": "cmmmech",
      "ontologies": [
        "CHEBI",
        "NCBITaxon"
      ],
      "data_sources": [
        {
          "name": "ChEBI",
          "url": "https://www.ebi.ac.uk/chebi/",
          "relation_type": "prov:used",
          "description": "Chemical identity of elements and compounds."
        },
        {
          "name": "USGS List of Critical Minerals",
          "url": "https://www.usgs.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Dated US criticality designations."
        },
        {
          "name": "EU Critical Raw Materials Act",
          "url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1252",
          "relation_type": "prov:hadPrimarySource",
          "description": "Dated EU criticality designations."
        },
        {
          "name": "IMA mineral list",
          "url": "https://cnmnc.units.it/",
          "relation_type": "prov:used",
          "description": "Mineral species identity."
        },
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Evidence on microbial mechanisms."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://opensource.org/license/bsd-3-clause",
        "label": "BSD-3-Clause",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Each record has a timestamped scientific review. Every microbial mechanism states its evidence boundary: what the cited experiment does not establish, such as matched abiotic controls or an isolated product yield.",
        "validation": [
          "schema",
          "references"
        ],
        "curation_history": true
      },
      "features": [
        "ontology_grounding",
        "append_only_history",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "cmmmech.records",
          "category": "RecordCorpus",
          "name": "Material records",
          "product_url": "https://github.com/CultureBotAI/CMMMech/tree/main/data/records",
          "format": "yaml"
        },
        {
          "id": "cmmmech.schema",
          "category": "DataModelProduct",
          "name": "CMMMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/CMMMech/blob/main/src/cmmmech/schema/cmmmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "cmmmech.browser",
          "category": "GraphicalInterface",
          "name": "CMMMech browser",
          "product_url": "https://culturebotai.github.io/CMMMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        }
      ],
      "creation_date": "2026-10-13",
      "last_modified_date": "2026-10-13"
    },
    {
      "id": "communitymech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "CommunityMech",
      "synonyms": [
        "Microbial Community Mechanisms Knowledge Base"
      ],
      "description": "CommunityMech is a knowledge base of microbial communities: their composition, ecological interactions, cultivation conditions, environments and supporting evidence. Curated YAML is the canonical record format. Validation, the static browser and the KGX export are all derived from it. Community records name the culture medium they were cultivated in by CultureMech identifier. The project is adapted from DisMech.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/CommunityMech/",
      "repository": "https://github.com/CultureBotAI/CommunityMech",
      "schema_url": "https://github.com/CultureBotAI/CommunityMech/blob/main/src/communitymech/schema/communitymech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "microbiology",
        "environment",
        "organisms"
      ],
      "taxon": [
        "NCBITaxon:2",
        "NCBITaxon:2157"
      ],
      "record_type": "a microbial community",
      "record_count": 458,
      "record_count_date": "2026-10-12",
      "record_count_commit": "80049bcc9195480a58633236169b62f86c23489a",
      "record_count_source": {
        "path": "kb/communities",
        "pattern": "*.yaml"
      },
      "ontologies": [
        "NCBITaxon",
        "CHEBI",
        "GO",
        "ENVO",
        "GTDB"
      ],
      "data_sources": [
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Literature evidence for community composition and interactions, cached in references_cache for reproducible checks."
        },
        {
          "name": "GTDB",
          "url": "https://gtdb.ecogenomic.org/",
          "relation_type": "prov:used",
          "description": "Taxonomy for community members."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "code_license": {
        "id": "https://opensource.org/license/bsd-3-clause",
        "label": "BSD-3-Clause",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Interactions and cultivation claims carry evidence items with references. Cached source text in the repository makes evidence checks reproducible offline.",
        "validation": [
          "schema",
          "ontology_terms",
          "references",
          "cross_field"
        ],
        "curation_history": true
      },
      "features": [
        "evidence_snippets",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser",
        "kgx_export"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "communitymech.records",
          "category": "RecordCorpus",
          "name": "Community records",
          "description": "Canonical MicrobialCommunity records in kb/communities, with reusable CommonTaxon records in kb/taxa.",
          "product_url": "https://github.com/CultureBotAI/CommunityMech/tree/main/kb/communities",
          "format": "yaml"
        },
        {
          "id": "communitymech.schema",
          "category": "DataModelProduct",
          "name": "CommunityMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/CommunityMech/blob/main/src/communitymech/schema/communitymech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "communitymech.kgx",
          "category": "GraphProduct",
          "name": "KGX export",
          "description": "Nodes and edges emitted by a deterministic Python emitter from the community YAML.",
          "product_url": "https://github.com/CultureBotAI/CommunityMech",
          "format": "kgx",
          "compatibility": [
            "kgx",
            "biolink"
          ]
        },
        {
          "id": "communitymech.browser",
          "category": "GraphicalInterface",
          "name": "CommunityMech browser",
          "product_url": "https://culturebotai.github.io/CommunityMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "culturemech",
          "relation": "consumes",
          "description": "Community records name the medium they were cultivated in by CultureMech id."
        },
        {
          "target": "mediaingredientmech",
          "relation": "consumes",
          "description": "The RelatedIngredient.mediaingredientmech_id slot is declared for MediaIngredientMech ingredient ids. No record populates it yet."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "culturemech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "CultureMech",
      "synonyms": [
        "Microbial Culture Media Knowledge Graph"
      ],
      "description": "CultureMech is a versioned knowledge base of microbial culture-media recipes from MediaDive, TogoMedium, KOMODO and the major culture collections. It combines LinkML validation, ontology grounding, provenance, deduplication, browser exports and static recipe pages. The corpus has four layers: immutable raw source payloads, mechanical source-shaped YAML, authoritative normalized records that preserve source-specific formulations, and reproducible merged records that are the deduplicated canonical output. The merged layer is what this entry counts.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/CultureMech/",
      "repository": "https://github.com/CultureBotAI/CultureMech",
      "schema_url": "https://github.com/CultureBotAI/CultureMech/blob/main/src/culturemech/schema/culturemech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "microbiology",
        "nutrition",
        "chemistry and biochemistry"
      ],
      "taxon": [
        "NCBITaxon:2",
        "NCBITaxon:2157",
        "NCBITaxon:4751"
      ],
      "record_type": "a culture-medium recipe",
      "record_count": 6320,
      "record_count_date": "2026-10-12",
      "record_count_commit": "9976e05b88c89c6c6b5a4c1fd60ed0d6a86033a6",
      "record_count_source": {
        "path": "data/merge_yaml/merged",
        "pattern": "*.yaml"
      },
      "ontologies": [
        "CHEBI",
        "KEGG",
        "FOODON",
        "UBERON",
        "CAS",
        "NCBITaxon"
      ],
      "data_sources": [
        {
          "name": "MediaDive",
          "url": "https://mediadive.dsmz.de/",
          "relation_type": "prov:hadPrimarySource",
          "description": "DSMZ culture-media recipes and solution volumes."
        },
        {
          "name": "TogoMedium",
          "url": "https://togomedium.org/",
          "relation_type": "prov:hadPrimarySource"
        },
        {
          "name": "KOMODO",
          "url": "https://komodo.modelseed.org/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Recipes and base volumes."
        },
        {
          "name": "MediaIngredientMech",
          "url": "https://github.com/CultureBotAI/MediaIngredientMech",
          "relation_type": "prov:used",
          "description": "Curated ingredient identity and ontology mappings synced back into recipes."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every recipe keeps its source provenance. Normalized records preserve source-specific formulations and merged records record which normalized records they combine.",
        "validation": [
          "schema",
          "ontology_terms",
          "cross_field",
          "corpus_reproduction"
        ],
        "curation_history": true,
        "curation_guide_url": "https://github.com/CultureBotAI/CultureMech/blob/main/docs/DATA_LAYERS.md"
      },
      "features": [
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser",
        "sssom_export"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "culturemech.records",
          "category": "RecordCorpus",
          "name": "Merged recipe records",
          "description": "Reproducible, deduplicated canonical recipes. The normalized layer holds 15,878 source-specific records behind them.",
          "product_url": "https://github.com/CultureBotAI/CultureMech/tree/main/data/merge_yaml/merged",
          "format": "yaml"
        },
        {
          "id": "culturemech.normalized",
          "category": "RecordCorpus",
          "name": "Normalized recipe records",
          "description": "Authoritative curated and validated records, one per source formulation.",
          "product_url": "https://github.com/CultureBotAI/CultureMech/tree/main/data/normalized_yaml",
          "format": "yaml"
        },
        {
          "id": "culturemech.schema",
          "category": "DataModelProduct",
          "name": "CultureMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/CultureMech/blob/main/src/culturemech/schema/culturemech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "culturemech.browser",
          "category": "GraphicalInterface",
          "name": "CultureMech browser",
          "description": "Browser-based exploration and static recipe pages.",
          "product_url": "https://culturebotai.github.io/CultureMech/",
          "format": "html"
        }
      ],
      "publications": [
        {
          "id": "doi:10.1093/gigascience/giag077",
          "title": "KG-Microbe: Building Modular and Scalable Knowledge Graphs for Microbiome and Microbial Sciences",
          "authors": [
            "Santangelo BE",
            "Hegde H",
            "Caufield JH",
            "Reese J",
            "Kliegr T",
            "Hunter LE",
            "Lozupone CA",
            "Mungall CJ",
            "Joachimiak MP"
          ],
          "journal": "GigaScience",
          "year": "2026",
          "doi": "10.1093/gigascience/giag077"
        },
        {
          "id": "doi:10.64898/2026.06.04.729985",
          "title": "MicroGrowAgents: An Agentic AI System for Microbial Cultivation Engineering",
          "authors": [
            "Naseem S",
            "Miller MA",
            "Martinez-Gomez NC",
            "Sun N",
            "Joachimiak MP"
          ],
          "journal": "bioRxiv",
          "year": "2026",
          "doi": "10.64898/2026.06.04.729985"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "mediaingredientmech",
          "relation": "provides_to",
          "description": "Unmapped ingredient strings and occurrence counts become MediaIngredientMech's curation backlog."
        },
        {
          "target": "mediaingredientmech",
          "relation": "consumes",
          "description": "Vendors MediaIngredientMech's ingredient-role enums and consumes its immutable label index."
        },
        {
          "target": "communitymech",
          "relation": "provides_to",
          "description": "Community records cite the medium they were cultivated in by CultureMech id."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "dismech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "DisMech",
      "synonyms": [
        "Disorder Mechanisms Knowledge Base",
        "Disease Mechanisms KB"
      ],
      "description": "DisMech, the Disorder Mechanisms Knowledge Base, is a structured, evidence-backed knowledge base of disease pathophysiology. It records how diseases work: the cell types, biological processes and causal chains that link a genetic or environmental cause to its clinical phenotypes. Every claim carries a citation with a verbatim quote that is checked against the source. Each disorder is one YAML file holding pathophysiology, phenotypes, genetics, treatments, evidence and ontology term bindings. Conserved pathological processes are factored into mechanism modules that disorders declare conformance to. DisMech is the canonical Mech: the other Mechs in this registry adopt its curation pattern.",
      "activity_status": "active",
      "maturity": "curating",
      "version": "v0.1.39",
      "homepage_url": "https://dismech.monarchinitiative.org/",
      "repository": "https://github.com/monarch-initiative/dismech",
      "schema_url": "https://github.com/monarch-initiative/dismech/blob/main/src/dismech/schema/dismech.yaml",
      "collection": [
        "monarch"
      ],
      "domains": [
        "biomedical",
        "clinical",
        "phenotype",
        "pathways",
        "genomics"
      ],
      "taxon": [
        "NCBITaxon:9606"
      ],
      "record_type": "a human disorder or disorder subtype",
      "record_count": 3358,
      "record_count_date": "2026-10-12",
      "record_count_commit": "4cca8cef130493408e208c852c97b3b6baa9f37a",
      "record_count_source": {
        "path": "kb/disorders",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "Records are named by disorder and bound to Mondo disease identifiers where a term exists.",
      "ontologies": [
        "MONDO",
        "HP",
        "GO",
        "CL",
        "UBERON",
        "NCIT",
        "CHEBI",
        "GENO",
        "PATO",
        "ECTO",
        "ENVO"
      ],
      "data_sources": [
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Evidence snippets are verbatim quotes from PubMed abstracts, checked at validation time."
        },
        {
          "name": "ClinGen",
          "url": "https://clinicalgenome.org/",
          "relation_type": "prov:used",
          "description": "Gene-disease validity used for genetic factors."
        },
        {
          "name": "BioModels",
          "url": "https://www.ebi.ac.uk/biomodels/",
          "relation_type": "prov:used",
          "description": "Source of quantitative models attached to disorders."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://opensource.org/license/bsd-3-clause",
        "label": "BSD-3-Clause",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "dragon-ai-agent",
          "goose"
        ],
        "evidence_policy": "Every pathophysiological claim cites a PubMed reference with an exact quote from the abstract. The reference validator fetches the abstract and checks that the quote appears verbatim. Paraphrases, wrong PMIDs and fabricated citations fail validation.",
        "validation": [
          "schema",
          "ontology_terms",
          "references",
          "compliance"
        ],
        "curation_history": true,
        "curation_guide_url": "https://dismech.monarchinitiative.org/"
      },
      "features": [
        "causal_mechanism_graphs",
        "evidence_snippets",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "mechanism_modules",
        "static_browser",
        "embeddings_explorer",
        "computational_models"
      ],
      "disclaimer": "DisMech is AI-curated and AI-maintained. Most content is generated and maintained by AI curation agents, with human review as the pull-request gate. Automated validation guarantees that citations exist, quoted snippets are exact, and ontology terms are real. It does not guarantee scientific correctness. DisMech is not medical advice. If you have a health concern, consult a qualified healthcare professional.",
      "contacts": [
        {
          "category": "Organization",
          "label": "Monarch Initiative",
          "contact_details": [
            {
              "contact_type": "url",
              "value": "https://monarchinitiative.org"
            },
            {
              "contact_type": "github",
              "value": "monarch-initiative"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Christopher J. Mungall",
          "orcid": "0000-0002-6601-2165",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "cmungall"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "J. Harry Caufield",
          "orcid": "0000-0001-5705-7831",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "jhc@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "caufieldjh"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "dismech.records",
          "category": "RecordCorpus",
          "name": "Disorder records",
          "description": "One YAML file per disorder in kb/disorders, validated against the DisMech LinkML schema.",
          "product_url": "https://github.com/monarch-initiative/dismech/tree/main/kb/disorders",
          "format": "yaml"
        },
        {
          "id": "dismech.modules",
          "category": "RecordCorpus",
          "name": "Mechanism modules",
          "description": "Conserved pathological patterns, such as the fibrotic response, that disorders declare conformance to.",
          "product_url": "https://github.com/monarch-initiative/dismech/tree/main/kb/modules",
          "format": "yaml"
        },
        {
          "id": "dismech.schema",
          "category": "DataModelProduct",
          "name": "DisMech LinkML schema",
          "product_url": "https://github.com/monarch-initiative/dismech/blob/main/src/dismech/schema/dismech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml"
          ]
        },
        {
          "id": "dismech.browser",
          "category": "GraphicalInterface",
          "name": "Disorder browser",
          "description": "Searchable browser over every disorder, with pathographs, mechanism modules, trajectories and an embeddings explorer.",
          "product_url": "https://dismech.monarchinitiative.org/app/",
          "format": "html"
        },
        {
          "id": "dismech.docs",
          "category": "DocumentationProduct",
          "name": "DisMech documentation",
          "product_url": "https://dismech.monarchinitiative.org/",
          "format": "html"
        },
        {
          "id": "dismech.models",
          "category": "ModelProduct",
          "name": "Computational models",
          "description": "Metabolic, kinetic, Boolean and agent-based models attached to disorders, in SBML and Antimony.",
          "product_url": "https://github.com/monarch-initiative/dismech/tree/main/models",
          "format": "sbml"
        }
      ],
      "publications": [
        {
          "id": "https://zenodo.org/records/18720444",
          "title": "Unlocking Disease Mechanisms: Agentic AI for Clinical Knowledge",
          "year": "2026"
        }
      ],
      "cross_references": [],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "dufmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "DUFMech",
      "description": "DUFMech is a knowledge base of protein domains of unknown function. One record is one Pfam family whose public InterPro metadata still reads like a domain or protein of unknown function (DUF or UPF), including families since renamed. Records are generated from a frozen, versioned InterPro/Pfam worklist. Scientific curation lives in separate overlays, so imported descriptions and seed labels never become functional claims. Every record is currently SEEDED.",
      "activity_status": "active",
      "maturity": "seeded",
      "homepage_url": "https://culturebotai.github.io/DUFMech/",
      "repository": "https://github.com/CultureBotAI/DUFMech",
      "schema_url": "https://github.com/CultureBotAI/DUFMech/blob/main/src/dufmech/schema/dufmech.yaml",
      "collection": [
        "x-mech-suite"
      ],
      "domains": [
        "genomics",
        "microbiology"
      ],
      "record_type": "a Pfam domain family of unknown function",
      "record_count": 8296,
      "record_count_date": "2026-10-13",
      "record_count_commit": "70a64554005fa4317a83a530e28ed217e3c3e0d2",
      "record_count_source": {
        "path": "data/families",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "The Pfam family accession.",
      "ontologies": [
        "Pfam",
        "InterPro",
        "UniProt",
        "PDB"
      ],
      "data_sources": [
        {
          "name": "InterPro",
          "url": "https://www.ebi.ac.uk/interpro/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Pfam family metadata, read through the InterPro API into frozen worklists."
        },
        {
          "name": "Pfam",
          "url": "https://www.ebi.ac.uk/interpro/entry/pfam/",
          "relation_type": "prov:hadPrimarySource",
          "description": "The families themselves, and their earlier names."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://opensource.org/license/bsd-3-clause",
        "label": "BSD-3-Clause",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Imported descriptions and automated seed labels are not functional claims. Reference correspondence and Pfam/InterPro associations do not promote a SEEDED record; curation is a separate overlay.",
        "validation": [
          "schema",
          "ontology_terms",
          "corpus_reproduction"
        ],
        "curation_history": true
      },
      "features": [
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "dufmech.records",
          "category": "RecordCorpus",
          "name": "Family records",
          "product_url": "https://github.com/CultureBotAI/DUFMech/tree/main/data/families",
          "format": "yaml"
        },
        {
          "id": "dufmech.schema",
          "category": "DataModelProduct",
          "name": "DUFMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/DUFMech/blob/main/src/dufmech/schema/dufmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "dufmech.kgx",
          "category": "GraphProduct",
          "name": "DUFMech KGX export",
          "product_url": "https://github.com/CultureBotAI/DUFMech/tree/main/exports/kgx",
          "format": "kgx"
        },
        {
          "id": "dufmech.sssom",
          "category": "MappingProduct",
          "name": "DUFMech SSSOM export",
          "product_url": "https://github.com/CultureBotAI/DUFMech/tree/main/exports/sssom",
          "format": "sssom"
        },
        {
          "id": "dufmech.browser",
          "category": "GraphicalInterface",
          "name": "DUFMech dashboard",
          "product_url": "https://culturebotai.github.io/DUFMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "proteintraitsmech",
          "relation": "consumes",
          "description": "A dated cross-Mech inventory lists the DUF-containing proteins that sibling Mechs hold, nearly all of them from ProteinTraitsMech."
        }
      ],
      "creation_date": "2026-10-13",
      "last_modified_date": "2026-10-13"
    },
    {
      "id": "habitatmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "HabitatMech",
      "description": "HabitatMech is a knowledge base of microbial habitats and environments. Four source vocabularies that describe where microbes are found, JGI GOLD ecosystem paths, BacDive isolation sources, PREGO ontology annotations and the Madin et al. literature curation, are harmonized into records grounded in ENVO, UBERON, FOODON and BTO. Each source term becomes a source concept, each concept resolves to an identifier, and concepts that resolve to the same identifier merge into one record that keeps every source's attestation.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/HabitatMech/",
      "repository": "https://github.com/CultureBotAI/HabitatMech",
      "schema_url": "https://github.com/CultureBotAI/HabitatMech/blob/main/src/habitatmech/schema/habitatmech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "microbiology",
        "environment"
      ],
      "taxon": [
        "NCBITaxon:2",
        "NCBITaxon:2157"
      ],
      "record_type": "a microbial habitat or environment",
      "record_count": 3208,
      "record_count_date": "2026-10-12",
      "record_count_commit": "679a57e04cd2581aec2cfbd1cdc5a78f09ec8a4a",
      "record_count_source": {
        "path": "data/habitats",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "An ontology CURIE where one is defensible, otherwise a minted, content-hashed CURIE that can be re-grounded later.",
      "identifier_prefix": "habitatmech",
      "ontologies": [
        "ENVO",
        "UBERON",
        "FOODON",
        "BTO",
        "NCBITaxon"
      ],
      "data_sources": [
        {
          "name": "JGI GOLD",
          "url": "https://gold.jgi.doe.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Five-level ecosystem classification paths."
        },
        {
          "name": "BacDive",
          "url": "https://bacdive.dsmz.de/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Flat isolation-source labels."
        },
        {
          "name": "PREGO",
          "url": "https://prego.hcmr.gr/",
          "relation_type": "prov:hadPrimarySource",
          "description": "ENVO-annotated organism-environment associations."
        },
        {
          "name": "Madin et al. trait database",
          "url": "https://github.com/bacteria-archaea-traits/bacteria-archaea-traits",
          "relation_type": "prov:hadPrimarySource",
          "description": "Literature-curated habitat assignments."
        },
        {
          "name": "KG-Microbe",
          "url": "https://kghub.org/kg-microbe/",
          "relation_type": "prov:used",
          "description": "Environmental parameters attached to records."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Records keep each source's attestation and assertion volume. Causal graphs carry evidence items with PMIDs or DOIs on every edge.",
        "validation": [
          "schema",
          "ontology_terms",
          "references",
          "corpus_reproduction"
        ],
        "curation_history": true,
        "curation_guide_url": "https://github.com/CultureBotAI/HabitatMech/blob/main/docs/CURATION.md"
      },
      "features": [
        "causal_mechanism_graphs",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            },
            {
              "contact_type": "url",
              "value": "https://culturebotai.github.io/"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "habitatmech.records",
          "category": "RecordCorpus",
          "name": "Habitat records",
          "description": "One YAML file per habitat, filed by category (host-associated, engineered, aquatic, terrestrial, food, air, clinical, other).",
          "product_url": "https://github.com/CultureBotAI/HabitatMech/tree/main/data/habitats",
          "format": "yaml"
        },
        {
          "id": "habitatmech.schema",
          "category": "DataModelProduct",
          "name": "HabitatMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/HabitatMech/blob/main/src/habitatmech/schema/habitatmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "habitatmech.browser",
          "category": "GraphicalInterface",
          "name": "HabitatMech browser",
          "description": "Every record by category, plus the ENVO term requests the project is asking the ontology community for.",
          "product_url": "https://culturebotai.github.io/HabitatMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "traitmech",
          "relation": "shares_vocabulary_with",
          "description": "Habitat causal graphs use a superset of TraitMech's node vocabulary, so a node may be a TraitMech or METPO trait."
        },
        {
          "target": "culturemech",
          "relation": "hands_off_to",
          "description": "The one overlapping concept, BTO:0000316 culture medium, is handed to CultureMech rather than curated twice."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "kg-registry",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "KG-Registry",
      "description": "KG-Registry is a registry of knowledge graphs and the resources they are built from: data sources, ontologies, data models and aggregators. One record per resource: each record holds the resource's description, domains, taxa, license, contacts, publications and activity status, and lists its products (graph dumps, APIs, browsers, mappings, documentation) with the upstream resources each product was derived from. Those provenance links make the registry a graph of where biomedical knowledge comes from and where it goes. Agents expand stub records and refresh stale ones with skills kept in the repository, scripted syncs pull records from the OBO Foundry, FRINK, KG-Bioportal and Translator, and every agent change arrives by pull request. KG-Registry is not strictly a Mech: its records are metadata about other resources rather than evidence-backed claims, and it keeps no append-only curation history beyond the repository's own. It keeps the Mech practices of one record per entity in a closed LinkML schema, agent curation behind human review, and publication references checked against cached sources. MechRegistry is modeled on it.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://kghub.org/kg-registry/",
      "repository": "https://github.com/Knowledge-Graph-Hub/kg-registry",
      "schema_url": "https://github.com/Knowledge-Graph-Hub/kg-registry/blob/main/src/kg_registry/kg_registry_schema/schema/kg_registry_schema.yaml",
      "domains": [
        "biomedical"
      ],
      "record_type": "a knowledge resource (knowledge graph, data source, ontology, data model or aggregator) and its products",
      "record_count": 1137,
      "record_count_date": "2026-10-12",
      "record_count_commit": "7b84d297bb72bdf605193f1544943ed50bdabcf7",
      "record_count_source": {
        "path": "resource",
        "pattern": "*.md",
        "exclude": [
          "*.*.md",
          "*_eval*.md"
        ]
      },
      "record_identifier_policy": "Records are keyed by a lowercase slug and stored as resource/<id>/<id>.md. Products take the resource id followed by a dot and a short name, and their pages are generated next to the resource page. Many resources also carry their Biolink Information Resource (infores) identifier.",
      "ontologies": [
        "NCBITaxon",
        "MESH",
        "NCIT"
      ],
      "data_sources": [
        {
          "name": "OBO Foundry",
          "url": "https://obofoundry.org/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "The OBO Foundry ontology registry, synced into ontology records."
        },
        {
          "name": "FRINK OKN registry",
          "url": "https://github.com/frink-okn/okn-registry",
          "relation_type": "prov:wasDerivedFrom",
          "description": "The Proto-OKN knowledge graph registry, synced into records with FRINK endpoint products."
        },
        {
          "name": "KG-Bioportal",
          "url": "https://github.com/ncbo/kg-bioportal",
          "relation_type": "prov:wasDerivedFrom",
          "description": "KGX transforms of BioPortal ontologies, added as graph products."
        },
        {
          "name": "Translator",
          "url": "https://kghub.org/kg-registry/resource/translator/translator.html",
          "relation_type": "prov:wasDerivedFrom",
          "description": "The current Translator KGX release products."
        },
        {
          "name": "Biolink Information Resource Registry",
          "url": "https://github.com/biolink/information-resource-registry",
          "relation_type": "prov:used",
          "description": "Infores identifiers for resources and stubs for resources not yet curated."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "code_license": {
        "id": "https://opensource.org/licenses/BSD-3-Clause",
        "label": "BSD 3-Clause License",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "dragon-ai-agent"
        ],
        "evidence_policy": "Records describe resources rather than make claims, so evidence is the resource's own homepage, repository and publications. Publication titles, years, DOIs and first authors are checked against cached reference metadata, and provenance links must name registry identifiers rather than free text or URLs.",
        "validation": [
          "schema",
          "references"
        ],
        "curation_history": false,
        "curation_guide_url": "https://kghub.org/kg-registry/docs/intro/agent-skills.html"
      },
      "features": [
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "Knowledge Graph Hub",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "Knowledge-Graph-Hub"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "J. Harry Caufield",
          "orcid": "0000-0001-5705-7831",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "jhc@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "caufieldjh"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "kg-registry.records",
          "category": "RecordCorpus",
          "name": "Resource pages",
          "description": "One Markdown file with a YAML header per resource under resource/<id>/, next to the generated pages for its products.",
          "product_url": "https://github.com/Knowledge-Graph-Hub/kg-registry/tree/main/resource",
          "format": "markdown"
        },
        {
          "id": "kg-registry.schema",
          "category": "DataModelProduct",
          "name": "KG-Registry LinkML schema",
          "product_url": "https://github.com/Knowledge-Graph-Hub/kg-registry/blob/main/src/kg_registry/kg_registry_schema/schema/kg_registry_schema.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml"
          ]
        },
        {
          "id": "kg-registry.app",
          "category": "GraphicalInterface",
          "name": "KG-Registry site",
          "description": "A browser of every resource and product, with SQL search over the Parquet tables, a data quality dashboard and an interactive graph of resources and their sources.",
          "product_url": "https://kghub.org/kg-registry/",
          "format": "html"
        },
        {
          "id": "kg-registry.yaml",
          "category": "OtherProduct",
          "name": "Registry YAML",
          "description": "Every resource in one YAML file. JSON-LD and Turtle versions sit beside it.",
          "product_url": "https://kghub.org/kg-registry/registry/kgs.yml",
          "format": "yaml"
        },
        {
          "id": "kg-registry.parquet",
          "category": "OtherProduct",
          "name": "Registry Parquet tables",
          "description": "Resources, domains, products and taxa as Parquet tables, which the read-only discovery skills query over HTTP.",
          "product_url": "https://kghub.org/kg-registry/registry/parquet-downloads.html",
          "format": "other"
        },
        {
          "id": "kg-registry.docs",
          "category": "DocumentationProduct",
          "name": "KG-Registry documentation",
          "product_url": "https://kghub.org/kg-registry/docs/intro/",
          "format": "html"
        }
      ],
      "tags": [
        "Mech-like"
      ],
      "creation_date": "2026-10-10",
      "last_modified_date": "2026-10-10"
    },
    {
      "id": "mediaingredientmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "MediaIngredientMech",
      "synonyms": [
        "MIM"
      ],
      "description": "MediaIngredientMech is an LLM-assisted curation system for culture-media ingredient ontology mappings, with full audit trails. It manages the ingredient records aggregated from media recipes in CultureMech and owns ingredient identity for the X-Mech fleet. An ingredient record denotes a specific chemical someone can order. Where sources disagree about which form a recipe means, the record picks one by convention, preferring the term that carries the commercial CAS number, and keeps every raw form as a resolvable synonym.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/MediaIngredientMech/",
      "repository": "https://github.com/CultureBotAI/MediaIngredientMech",
      "schema_url": "https://github.com/CultureBotAI/MediaIngredientMech/blob/main/src/mediaingredientmech/schema/mediaingredientmech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "chemistry and biochemistry",
        "nutrition",
        "microbiology"
      ],
      "record_type": "a culture-media ingredient",
      "record_count": 2953,
      "record_count_date": "2026-10-12",
      "record_count_commit": "1742bfd450470f5479720ace96ad2851bf4cd9d0",
      "record_count_source": {
        "path": "data/ingredients",
        "pattern": "*.yaml"
      },
      "ontologies": [
        "CHEBI",
        "CAS",
        "NCIT",
        "FOODON",
        "ENVO",
        "MESH"
      ],
      "data_sources": [
        {
          "name": "CultureMech",
          "url": "https://github.com/CultureBotAI/CultureMech",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Unmapped ingredient strings and occurrence counts from recipes become the curation backlog."
        },
        {
          "name": "ChEBI",
          "url": "https://www.ebi.ac.uk/chebi/",
          "relation_type": "prov:used",
          "description": "Primary mapping target for chemical ingredients."
        },
        {
          "name": "FOODON",
          "url": "https://foodon.org/",
          "relation_type": "prov:used",
          "description": "Mapping target for complex and food-derived ingredients."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every mapping carries a MappingEvidence record and every curation action carries an event noting whether an LLM assisted.",
        "validation": [
          "schema",
          "ontology_terms",
          "cross_field"
        ],
        "curation_history": true,
        "curation_guide_url": "https://github.com/CultureBotAI/MediaIngredientMech/blob/main/MAPPING_SEMANTICS.md"
      },
      "features": [
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser",
        "sssom_export"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "mediaingredientmech.records",
          "category": "RecordCorpus",
          "name": "Ingredient records",
          "description": "Mapped and unmapped ingredient records under data/ingredients/.",
          "product_url": "https://github.com/CultureBotAI/MediaIngredientMech/tree/main/data/ingredients",
          "format": "yaml"
        },
        {
          "id": "mediaingredientmech.schema",
          "category": "DataModelProduct",
          "name": "MediaIngredientMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/MediaIngredientMech/blob/main/src/mediaingredientmech/schema/mediaingredientmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "mediaingredientmech.sssom",
          "category": "MappingProduct",
          "name": "Ingredient mappings (SSSOM)",
          "description": "Ingredient to ontology mappings exported as SSSOM.",
          "product_url": "https://github.com/CultureBotAI/MediaIngredientMech",
          "format": "sssom",
          "compatibility": [
            "sssom"
          ]
        },
        {
          "id": "mediaingredientmech.browser",
          "category": "GraphicalInterface",
          "name": "MediaIngredientMech browser",
          "product_url": "https://culturebotai.github.io/MediaIngredientMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "culturemech",
          "relation": "consumes",
          "description": "Unmapped ingredient strings and occurrence counts become the curation backlog. Records link back to recipes by stable id with the CultureMechReference class."
        },
        {
          "target": "culturemech",
          "relation": "provides_to",
          "description": "Curated ChEBI and FOODON mappings sync back to recipes. CultureMech vendors the ingredient-role enums and consumes the immutable label index."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10",
      "warnings": [
        "The repository carries no LICENSE file as of 2026-09-10. The CC0 license recorded here is the one the X-Mech suite page states for the fleet."
      ]
    },
    {
      "id": "naturalproductmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "NaturalProductMech",
      "description": "NaturalProductMech is a knowledge base of individual natural product structures. One record is one chemical structure made by a living organism, carrying who makes it, from which biosynthetic gene cluster, what it does, and the evidence for all three. MIBiG, ChEBI, LOTUS, CyanoMetDB, NPClassifier, PubChem BioAssay and BindingDB are harmonized onto one record per InChIKey. Every record is currently SEEDED. The biosynthetic pathway and causal graph fields are empty and are the work the rest exists for.",
      "activity_status": "active",
      "maturity": "seeded",
      "repository": "https://github.com/CultureBotAI/NaturalProductMech",
      "schema_url": "https://github.com/CultureBotAI/NaturalProductMech/blob/main/src/naturalproductmech/schema/naturalproductmech.yaml",
      "collection": [
        "x-mech-suite"
      ],
      "domains": [
        "chemistry and biochemistry",
        "microbiology",
        "pathways"
      ],
      "record_type": "a natural product chemical structure",
      "record_count": 3115,
      "record_count_date": "2026-10-12",
      "record_count_commit": "e66f934111777c4ebfe69475d0520c0cfa074785",
      "record_count_source": {
        "path": "data/natural_products",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "A ChEBI CURIE where the entry has a structure, otherwise a minted, content-hashed CURIE. A record with no InChIKey is never written.",
      "identifier_prefix": "naturalproductmech",
      "ontologies": [
        "CHEBI",
        "NCBITaxon",
        "MIBiG",
        "NPAtlas",
        "PubChem",
        "UniProt"
      ],
      "data_sources": [
        {
          "name": "MIBiG",
          "url": "https://mibig.secondarymetabolites.org/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Structures, producer organisms and biosynthetic gene clusters."
        },
        {
          "name": "ChEBI",
          "url": "https://www.ebi.ac.uk/chebi/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Grounding and biological origins."
        },
        {
          "name": "LOTUS",
          "url": "https://lotus.naturalproducts.net/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Cited occurrences."
        },
        {
          "name": "CyanoMetDB",
          "relation_type": "prov:hadPrimarySource",
          "description": "Cited occurrences for cyanobacterial metabolites."
        },
        {
          "name": "NCBI Taxonomy",
          "url": "https://www.ncbi.nlm.nih.gov/taxonomy",
          "relation_type": "prov:used",
          "description": "Name resolution for producers."
        },
        {
          "name": "NPClassifier",
          "url": "https://npclassifier.ucsd.edu/",
          "relation_type": "prov:used",
          "description": "The filing pathway for each structure."
        },
        {
          "name": "PubChem BioAssay",
          "url": "https://pubchem.ncbi.nlm.nih.gov/",
          "relation_type": "prov:used",
          "description": "Measured activities and targets."
        },
        {
          "name": "BindingDB",
          "url": "https://www.bindingdb.org/",
          "relation_type": "prov:used",
          "description": "Measured activities and targets."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code"
        ],
        "evidence_policy": "Producer organisms carry biosynthesis-grade evidence. Occurrences are cited. The corpus reproduces offline from committed inventories.",
        "validation": [
          "schema",
          "ontology_terms",
          "corpus_reproduction"
        ],
        "curation_history": true
      },
      "features": [
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "naturalproductmech.records",
          "category": "RecordCorpus",
          "name": "Natural product records",
          "description": "One YAML file per structure under data/natural_products/<pathway>/.",
          "product_url": "https://github.com/CultureBotAI/NaturalProductMech/tree/main/data/natural_products",
          "format": "yaml"
        },
        {
          "id": "naturalproductmech.schema",
          "category": "DataModelProduct",
          "name": "NaturalProductMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/NaturalProductMech/blob/main/src/naturalproductmech/schema/naturalproductmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "antibioticmech",
          "relation": "consumes",
          "description": "Antimicrobial classification and cross-corpus links come from AntibioticMech."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10",
      "warnings": [
        "No browser site is published yet. The GitHub repository is the only access point."
      ]
    },
    {
      "id": "pathwaymech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "PathwayMech",
      "description": "PathwayMech is a knowledge base of pathway-level microbial mechanisms. One record is one pathway, held as a small graph: named participants, reactions, and causal edges between them, each edge citing a reference declared in the same record. It ports DisMech's evidence modules to pathways. Importers read GO-CAM, WikiPathways, Rhea, MetaCyc, KEGG, Reactome, BiGG and a dozen other pathway resources into draft records, and identifiers are checked against frozen authority snapshots.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://culturebotai.github.io/PathwayMech/",
      "repository": "https://github.com/CultureBotAI/PathwayMech",
      "schema_url": "https://github.com/CultureBotAI/PathwayMech/blob/main/src/pathwaymech/schema/pathwaymech.yaml",
      "collection": [
        "x-mech-suite"
      ],
      "domains": [
        "pathways",
        "microbiology",
        "chemistry and biochemistry"
      ],
      "record_type": "a microbial pathway mechanism",
      "record_count": 242,
      "record_count_date": "2026-10-13",
      "record_count_commit": "995b0ad9b19eaa3a46cc2898e73445cf0cce16db",
      "record_count_source": {
        "path": "data/pathways",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "The source pathway's CURIE, such as a WikiPathways or MetaCyc identifier, with an explicit prefix.",
      "ontologies": [
        "CHEBI",
        "RHEA",
        "UniProt",
        "GO",
        "RO",
        "ECO",
        "NCBITaxon"
      ],
      "data_sources": [
        {
          "name": "GO-CAM",
          "url": "https://geneontology.org/docs/gocam-overview/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Causal activity models imported as draft pathway records."
        },
        {
          "name": "WikiPathways",
          "url": "https://www.wikipathways.org/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Pathway diagrams imported as draft records."
        },
        {
          "name": "MetaCyc",
          "url": "https://metacyc.org/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Pathway definitions and reactions."
        },
        {
          "name": "Rhea",
          "url": "https://www.rhea-db.org/",
          "relation_type": "prov:used",
          "description": "Reaction identities and directions."
        },
        {
          "name": "Reactome",
          "url": "https://reactome.org/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Pathways read from BioPAX."
        },
        {
          "name": "KEGG",
          "url": "https://www.kegg.jp/",
          "relation_type": "prov:used",
          "description": "Pathway maps read from KGML."
        },
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "Evidence on mechanistic edges."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/licenses/by/4.0/",
        "label": "CC BY 4.0",
        "spdx_id": "CC-BY-4.0"
      },
      "code_license": {
        "id": "https://opensource.org/license/bsd-3-clause",
        "label": "BSD-3-Clause",
        "spdx_id": "BSD-3-Clause"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every mechanistic edge cites a reference declared in the record, and evidence quotes are kept short enough to review. Structured source assertions carry exact source locations and are shown apart from verbatim quotations.",
        "validation": [
          "schema",
          "ontology_terms",
          "references",
          "cross_field"
        ],
        "curation_history": true
      },
      "features": [
        "causal_mechanism_graphs",
        "evidence_snippets",
        "ontology_grounding",
        "append_only_history",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "pathwaymech.records",
          "category": "RecordCorpus",
          "name": "Pathway records",
          "product_url": "https://github.com/CultureBotAI/PathwayMech/tree/main/data/pathways",
          "format": "yaml"
        },
        {
          "id": "pathwaymech.schema",
          "category": "DataModelProduct",
          "name": "PathwayMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/PathwayMech/blob/main/src/pathwaymech/schema/pathwaymech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "pathwaymech.browser",
          "category": "GraphicalInterface",
          "name": "PathwayMech browser",
          "product_url": "https://culturebotai.github.io/PathwayMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of",
          "description": "Ports DisMech's evidence modules into a pathway-specific schema."
        },
        {
          "target": "traitmech",
          "relation": "shares_vocabulary_with",
          "description": "Inventories the UniProtKB proteins TraitMech, ProteinTraitsMech and other siblings hold, and the links they make to PathwayMech records."
        }
      ],
      "creation_date": "2026-10-13",
      "last_modified_date": "2026-10-13"
    },
    {
      "id": "proteintraitsmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "ProteinTraitsMech",
      "synonyms": [
        "ProteinTraits"
      ],
      "description": "ProteinTraitsMech is a knowledge base of protein sequence, structure, function and evolution traits, one YAML record per trait with optional evidence-backed causal graphs. Traits run along five axes: sequence (motifs, signal peptides, disordered regions, repeats, PTM sites), structure (folds, domains, sites, interfaces, symmetry), mixed sequence-structure (transmembrane spans, coiled coils), function (enzymatic activity, binding, cofactors, localisation) and evolution (conservation and pangenome partition). Records anchor to InterPro, Pfam, PROSITE, SMART, MEROPS, CATH, SCOP, PDB, GO, PR and UniProtKB.",
      "activity_status": "active",
      "maturity": "seeded",
      "homepage_url": "https://culturebotai.github.io/proteintraitsmech/",
      "repository": "https://github.com/CultureBotAI/proteintraitsmech",
      "schema_url": "https://github.com/CultureBotAI/proteintraitsmech/blob/main/src/proteintraitsmech/schema/proteintraitsmech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "biological systems",
        "chemistry and biochemistry",
        "genomics"
      ],
      "record_type": "a protein sequence, structure, function or evolution trait class",
      "record_count": 429293,
      "record_count_date": "2026-10-12",
      "record_count_commit": "70edd6f8458845f7d7783ac4f416df519f5e1de6",
      "record_count_source": {
        "path": "data/traits",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "Preferably an existing InterPro, Pfam, PROSITE, CATH, SCOP, MEROPS or PR CURIE.",
      "ontologies": [
        "InterPro",
        "Pfam",
        "UniProt",
        "Rhea",
        "GO",
        "CHEBI",
        "ARO",
        "EC",
        "CATH",
        "SCOP",
        "PDB",
        "PR"
      ],
      "data_sources": [
        {
          "name": "InterPro",
          "url": "https://www.ebi.ac.uk/interpro/",
          "relation_type": "prov:wasDerivedFrom"
        },
        {
          "name": "Pfam",
          "url": "https://www.ebi.ac.uk/interpro/entry/pfam/",
          "relation_type": "prov:wasDerivedFrom"
        },
        {
          "name": "Rhea",
          "url": "https://www.rhea-db.org/",
          "relation_type": "prov:wasDerivedFrom"
        },
        {
          "name": "CATH",
          "url": "https://www.cathdb.info/",
          "relation_type": "prov:wasDerivedFrom"
        },
        {
          "name": "SCOPe",
          "url": "https://scop.berkeley.edu/",
          "relation_type": "prov:wasDerivedFrom"
        },
        {
          "name": "CARD",
          "url": "https://card.mcmaster.ca/",
          "relation_type": "prov:wasDerivedFrom"
        },
        {
          "name": "UniProtKB",
          "url": "https://www.uniprot.org/",
          "relation_type": "prov:used",
          "description": "Release-pinned canonical example proteins and grounding assertions."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every CausalEdge must carry at least one EvidenceItem. Sources are catalogued with their licences in a download.yaml before ingestion.",
        "validation": [
          "schema",
          "ontology_terms",
          "corpus_reproduction"
        ],
        "curation_history": true
      },
      "features": [
        "causal_mechanism_graphs",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "proteintraitsmech.records",
          "category": "RecordCorpus",
          "name": "Protein trait records",
          "description": "One YAML file per trait under data/traits/<axis>/<category>/<slug>.yaml.",
          "product_url": "https://github.com/CultureBotAI/proteintraitsmech/tree/main/data/traits",
          "format": "yaml"
        },
        {
          "id": "proteintraitsmech.schema",
          "category": "DataModelProduct",
          "name": "ProteinTraitsMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/proteintraitsmech/blob/main/src/proteintraitsmech/schema/proteintraitsmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "proteintraitsmech.browser",
          "category": "GraphicalInterface",
          "name": "ProteinTraitsMech browser",
          "product_url": "https://culturebotai.github.io/proteintraitsmech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "traitmech",
          "relation": "sibling_of",
          "description": "TraitMech holds organism-level ecophysiological traits. ProteinTraitsMech holds the protein-level machinery."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    },
    {
      "id": "somamech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "SOMAMech",
      "description": "SOMAMech is a paper-extraction knowledge base for environmental health sciences. It curates publications on PM2.5, smoke and other inhaled exposures and their effects on airway biology into data that validate against the SOMA LinkML schema. One record per publication: each record is a Container that holds the paper's study subjects, exposures, protocols, assays and measurements, linked to Key Events and Adverse Outcome Pathways. Assay classes cover ciliary function, airway surface liquid, mucociliary clearance, oxidative stress, CFTR ion transport, EGFR signaling, mucin and goblet cell biology, inflammatory markers in BALF and sputum, lung function and gene expression. Every extracted measurement carries an evidence block that quotes the paper, and the quote is checked against the paper text. Papers enter through a stub queue, are claimed one at a time by GitHub issue, and arrive by pull request. SOMAMech follows the DisMech curation pattern.",
      "activity_status": "active",
      "maturity": "curating",
      "homepage_url": "https://github.com/EHS-Data-Standards/somamech",
      "repository": "https://github.com/EHS-Data-Standards/somamech",
      "schema_url": "https://github.com/EHS-Data-Standards/somamech/blob/main/src/soma/schema/soma.yaml",
      "domains": [
        "environment",
        "biomedical",
        "phenotype",
        "biological systems"
      ],
      "taxon": [
        "NCBITaxon:9606",
        "NCBITaxon:10090"
      ],
      "record_type": "a publication, extracted into its assays, measurements and Key Events",
      "record_count": 40,
      "record_count_date": "2026-10-12",
      "record_count_commit": "d8f40d9f2ecadba8a17ba85a9365e8b8e5d2af85",
      "record_count_source": {
        "path": "kb/publications",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "Records are named Container-<author><year>.yaml and name their source paper by PMID in source_publication. KeyEvent identifiers are shared across papers. Every other entity identifier belongs to exactly one paper.",
      "ontologies": [
        "CHEBI",
        "GO",
        "CL",
        "UBERON",
        "HP",
        "PATO",
        "ENVO",
        "MONDO",
        "NCBITaxon",
        "OBI",
        "UO",
        "PR",
        "CLO",
        "ECTO",
        "ExO",
        "XCO"
      ],
      "data_sources": [
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:hadPrimarySource",
          "description": "The extracted publications. Evidence quotes are checked against cached abstracts and full text."
        },
        {
          "name": "Zotero library",
          "relation_type": "prov:used",
          "description": "The seed corpus of papers and PDFs, resolved to PMIDs and DOIs in corpus.csv and turned into queue stubs."
        },
        {
          "name": "SOMA",
          "url": "https://github.com/EHS-Data-Standards/soma",
          "relation_type": "prov:used",
          "description": "The SOMA data model for Key Event and outcome assays, vendored as the schema."
        }
      ],
      "license": {
        "id": "https://opensource.org/licenses/MIT",
        "label": "MIT License",
        "spdx_id": "MIT"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code"
        ],
        "evidence_policy": "Every extracted measurement carries an evidence block that quotes the paper verbatim. Quotes are checked against the cached paper text. Where only the abstract can be cached, a local check against the full text writes a hash-bound verification receipt, and CI rejects any quote without one.",
        "validation": [
          "schema",
          "ontology_terms",
          "references"
        ],
        "curation_history": false
      },
      "features": [
        "evidence_snippets",
        "ontology_grounding"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "EHS-Data-Standards",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "EHS-Data-Standards"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Sierra Moxon",
          "orcid": "0000-0002-8719-7760",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "smoxon@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "sierra-moxon"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "somamech.records",
          "category": "RecordCorpus",
          "name": "Publication extractions",
          "description": "One Container YAML file per extracted publication under kb/publications/.",
          "product_url": "https://github.com/EHS-Data-Standards/somamech/tree/main/kb/publications",
          "format": "yaml"
        },
        {
          "id": "somamech.schema",
          "category": "DataModelProduct",
          "name": "SOMA LinkML schema",
          "product_url": "https://github.com/EHS-Data-Standards/somamech/blob/main/src/soma/schema/soma.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml"
          ]
        },
        {
          "id": "somamech.queue",
          "category": "OtherProduct",
          "name": "Paper queue",
          "description": "One stub per candidate paper, with screening status and decision. Stubs are the extraction queue and are not records.",
          "product_url": "https://github.com/EHS-Data-Standards/somamech/tree/main/stubs",
          "format": "yaml"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        }
      ],
      "creation_date": "2026-09-22",
      "last_modified_date": "2026-10-01"
    },
    {
      "id": "taxonmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "TaxonMech",
      "description": "TaxonMech is a knowledge base of microbial taxa and the strains behind them. One record per taxon, keyed by NCBI Taxonomy and harmonized with GTDB, LPSN, BacDive, MediaDive, GOLD, Madin et al. and BactoTraits through the kg-microbe transforms. Records are species and below. Higher taxa appear only in a record's lineage. Each record keeps every source's own identifier, mapping predicate and assertion count, the LPSN nomenclature with type strain designations, the GTDB species mapping with its genome count, and the BacDive strains with their culture-collection deposits. A primary focus is linking strain identifiers to genome identifiers: NCBI GenBank and RefSeq assemblies first, then GTDB, BV-BRC, IMG and AllTheBacteria records, each link carrying the source record that asserts it. Phenotypes, media and isolation sources are left to TraitMech, CultureMech and HabitatMech.",
      "activity_status": "active",
      "maturity": "seeded",
      "homepage_url": "https://culturebotai.github.io/TaxonMech/",
      "repository": "https://github.com/CultureBotAI/TaxonMech",
      "schema_url": "https://github.com/CultureBotAI/TaxonMech/blob/main/src/taxonmech/schema/taxonmech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "microbiology",
        "organisms",
        "genomics"
      ],
      "taxon": [
        "NCBITaxon:2",
        "NCBITaxon:2157"
      ],
      "record_type": "a microbial taxon at species rank or below",
      "record_count": 625960,
      "record_count_date": "2026-10-12",
      "record_count_commit": "56dcc69ed2a40f8c44a9df07242a39e36fabccf9",
      "record_count_source": {
        "path": "data/taxa",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "Records are keyed by their NCBITaxon CURIE. Filenames are pinned by data/taxa/PATHS.tsv so a re-seed never renames an existing record.",
      "ontologies": [
        "NCBITaxon",
        "GTDB",
        "BacDive",
        "GOLD",
        "insdc.gca",
        "refseq",
        "biosample",
        "bioproject",
        "img.taxon",
        "brc.genome"
      ],
      "data_sources": [
        {
          "name": "NCBI Taxonomy",
          "url": "https://www.ncbi.nlm.nih.gov/taxonomy",
          "relation_type": "prov:hadPrimarySource",
          "description": "The identity of every record, its rank and its lineage, from a pinned snapshot."
        },
        {
          "name": "GTDB",
          "url": "https://gtdb.ecogenomic.org/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Species mappings with the assemblies behind each, via kg-microbe."
        },
        {
          "name": "LPSN",
          "url": "https://lpsn.dsmz.de/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Nomenclature, authority, correct-name status and type strain designations, via kg-microbe."
        },
        {
          "name": "BacDive",
          "url": "https://bacdive.dsmz.de/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Strain records with culture-collection deposits and genome assertions."
        },
        {
          "name": "GOLD",
          "url": "https://gold.jgi.doe.gov/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Organism, sequencing-project and analysis-project links from the public workbook."
        },
        {
          "name": "AllTheBacteria",
          "url": "https://allthebacteria.org/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Assembly records joined through BioSample evidence."
        },
        {
          "name": "StrainInfo",
          "url": "https://straininfo.dsmz.de/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Deposit-to-NCBI assertions and typed strain, deposit and nucleotide references."
        },
        {
          "name": "MediaDive",
          "url": "https://mediadive.dsmz.de/",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Media attestations per taxon."
        },
        {
          "name": "Madin et al.",
          "url": "https://doi.org/10.1038/s41597-020-0497-4",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Prokaryotic phenotypic trait compilation, as a source attestation."
        },
        {
          "name": "BactoTraits",
          "url": "https://doi.org/10.1016/j.ecolind.2021.108047",
          "relation_type": "prov:wasDerivedFrom",
          "description": "Functional trait database, as a source attestation."
        },
        {
          "name": "kg-microbe",
          "url": "https://github.com/Knowledge-Graph-Hub/kg-microbe",
          "relation_type": "prov:used",
          "description": "The harmonized KGX inputs and the GTDB-to-NCBI and LPSN-to-NCBI mappings."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every causal edge must carry a citation. Seeded descriptive fields carry source attestations instead. A strain-to-genome link must name the source record that asserts it. Species membership and strain-name matching never supply a link.",
        "validation": [
          "schema",
          "corpus_reproduction"
        ],
        "curation_history": true
      },
      "features": [
        "causal_mechanism_graphs",
        "ontology_grounding",
        "append_only_history",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "taxonmech.records",
          "category": "RecordCorpus",
          "name": "Taxon records",
          "description": "One YAML file per taxon under data/taxa/<domain>/<slug>.yaml.",
          "product_url": "https://github.com/CultureBotAI/TaxonMech/tree/main/data/taxa",
          "format": "yaml"
        },
        {
          "id": "taxonmech.schema",
          "category": "DataModelProduct",
          "name": "TaxonMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/TaxonMech/blob/main/src/taxonmech/schema/taxonmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "taxonmech.browser",
          "category": "GraphicalInterface",
          "name": "TaxonMech browser",
          "product_url": "https://culturebotai.github.io/TaxonMech/",
          "format": "html"
        },
        {
          "id": "taxonmech.strain_assemblies",
          "category": "RecordCorpus",
          "name": "Strain assembly inventory",
          "description": "Uncapped inventory of strain-to-NCBI-assembly links, joined to BacDive strains on strain_id. Unlisted strains live here and not in the records.",
          "product_url": "https://github.com/CultureBotAI/TaxonMech/blob/main/data/raw/strain_assemblies.tsv",
          "format": "tsv"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "traitmech",
          "relation": "hands_off_to",
          "description": "Strain phenotypes are not held in TaxonMech."
        },
        {
          "target": "culturemech",
          "relation": "hands_off_to",
          "description": "Growth media are not held in TaxonMech."
        },
        {
          "target": "habitatmech",
          "relation": "hands_off_to",
          "description": "Isolation sources are not held in TaxonMech."
        }
      ],
      "creation_date": "2026-09-16",
      "last_modified_date": "2026-09-16"
    },
    {
      "id": "traitmech",
      "category": "Mech",
      "layout": "mech_detail",
      "name": "TraitMech",
      "description": "TraitMech is a knowledge base of microbial ecophysiological traits, seeded from METPO, the Microbial Ecophysiological Trait and Phenotype Ontology, and curated incrementally. Each trait, such as Gram type, motility, pH optimum or halophily, lives in its own YAML file with provenance back to its METPO source class and, where curated, literature evidence and a causal mechanism graph. Chemicals, microbes and enzymes are not seeded here. They belong to MediaIngredientMech and CultureMech.",
      "activity_status": "active",
      "maturity": "reviewed",
      "homepage_url": "https://culturebotai.github.io/TraitMech/",
      "repository": "https://github.com/CultureBotAI/TraitMech",
      "schema_url": "https://github.com/CultureBotAI/TraitMech/blob/main/src/traitmech/schema/traitmech.yaml",
      "collection": [
        "x-mech-suite",
        "kg-microbe"
      ],
      "domains": [
        "microbiology",
        "phenotype"
      ],
      "taxon": [
        "NCBITaxon:2",
        "NCBITaxon:2157"
      ],
      "record_type": "a microbial ecophysiological trait",
      "record_count": 1105,
      "record_count_date": "2026-10-12",
      "record_count_commit": "a57b006b32f2313579650d105d7da245a99a5b95",
      "record_count_source": {
        "path": "data/traits",
        "pattern": "*.yaml"
      },
      "record_identifier_policy": "Records are keyed by their METPO CURIE.",
      "ontologies": [
        "METPO",
        "GO",
        "NCBITaxon",
        "CHEBI",
        "UniProt",
        "PATO"
      ],
      "data_sources": [
        {
          "name": "METPO",
          "url": "https://w3id.org/metpo",
          "relation_type": "prov:wasDerivedFrom",
          "description": "The seed. Every trait record traces to a METPO class (METPO 2025-11-25)."
        },
        {
          "name": "PubMed",
          "url": "https://pubmed.ncbi.nlm.nih.gov/",
          "relation_type": "prov:used",
          "description": "Evidence on causal graph edges."
        }
      ],
      "license": {
        "id": "https://creativecommons.org/publicdomain/zero/1.0/",
        "label": "CC0 1.0",
        "spdx_id": "CC0-1.0"
      },
      "curation": {
        "agent_curated": true,
        "human_review": "pull_request",
        "agents": [
          "Claude Code",
          "culturebotai-claw"
        ],
        "evidence_policy": "Every CausalEdge carries at least one EvidenceItem with a PMID or DOI. Records carry a curation status of SEEDED, PROPOSED, REVIEWED or DEPRECATED.",
        "validation": [
          "schema",
          "ontology_terms",
          "references"
        ],
        "curation_history": true
      },
      "features": [
        "causal_mechanism_graphs",
        "ontology_grounding",
        "append_only_history",
        "knowledge_gaps",
        "static_browser"
      ],
      "contacts": [
        {
          "category": "Organization",
          "label": "CultureBotAI",
          "contact_details": [
            {
              "contact_type": "github",
              "value": "CultureBotAI"
            }
          ]
        },
        {
          "category": "Individual",
          "label": "Marcin P. Joachimiak",
          "orcid": "0000-0001-8175-045X",
          "contact_details": [
            {
              "contact_type": "email",
              "value": "mjoachimiak@lbl.gov"
            },
            {
              "contact_type": "github",
              "value": "realmarcin"
            }
          ]
        }
      ],
      "products": [
        {
          "id": "traitmech.records",
          "category": "RecordCorpus",
          "name": "Trait records",
          "description": "One YAML file per trait under data/traits/<category>/<slug>.yaml.",
          "product_url": "https://github.com/CultureBotAI/TraitMech/tree/main/data/traits",
          "format": "yaml"
        },
        {
          "id": "traitmech.schema",
          "category": "DataModelProduct",
          "name": "TraitMech LinkML schema",
          "product_url": "https://github.com/CultureBotAI/TraitMech/blob/main/src/traitmech/schema/traitmech.yaml",
          "format": "linkml",
          "compatibility": [
            "linkml",
            "mech_shared"
          ]
        },
        {
          "id": "traitmech.browser",
          "category": "GraphicalInterface",
          "name": "TraitMech browser",
          "product_url": "https://culturebotai.github.io/TraitMech/",
          "format": "html"
        }
      ],
      "cross_references": [
        {
          "target": "dismech",
          "relation": "follows_pattern_of"
        },
        {
          "target": "proteintraitsmech",
          "relation": "adopts_practice_of",
          "description": "TraitMech adopted ProteinTraitsMech's licence-bearing download.yaml source catalogue, and a drift audit keeps shared trait tokens aligned."
        },
        {
          "target": "mediaingredientmech",
          "relation": "hands_off_to",
          "description": "Chemicals are not seeded in TraitMech."
        },
        {
          "target": "culturemech",
          "relation": "hands_off_to",
          "description": "Growth media are not seeded in TraitMech."
        }
      ],
      "creation_date": "2026-09-10",
      "last_modified_date": "2026-09-10"
    }
  ]
}
