X-Mech Suite: twelve autonomous knowledge factories, one shared standard

The X-Mech suite brings together twelve autonomous knowledge factories that describe a microbe at every scale: its taxon and strain identity, habitat, community, traits, pathways, cellular structures, protein functions and unresolved domains, natural products, antibiotics, ingredients and culture media. Established corpora curate structured records with evidence and provenance; DUFMech begins with an InterPro/Pfam seed worklist. culturebotai-claw coordinates the eleven projects currently declared in its fleet manifest.

Each X-Mech is an autonomous knowledge factory that curates, validates, and connects scientific evidence to enable discovery, with human oversight. Its knowledge base is the collection of structured records it produces and maintains.

12autonomous knowledge factories
1,082,816records and seed families
160vocabularies
5,918Merged PRs
1orchestrator (claw)
1project website

Entry totals combine the published record counts with DUFMech's 6,532 seed families. Seed families are identified candidates and historical DUFs, not curated mechanism claims. PR activity includes all twelve Mechs, CLAW and this website.

Shared vocabulary

The Mechs are joinable because they ground records in the same public ontologies. The table counts identifier occurrences per vocabulary in each Mech's record corpus; darker cells mean more. Scroll sideways to explore all 160 vocabularies, with DOI and PMID first, followed by vocabularies used by the most Mechs to the fewest. Rows run from the Mech using the most vocabularies to the fewest. Mech names stay visible as you scroll. Select any cell to see its occurrence count and matching records below, including cells with no occurrences. Click a Mech name to open it, or a column button to filter the graph.

This vocabulary census covers all twelve Mechs. Counts are prefix occurrences in structured records and seed worklists (one family per DUFMech worklist row; merged recipes for CultureMech, communities and isolate records for CommunityMech, habitat records for HabitatMech, species-level and infraspecific taxon records for TaxonMech, each carrying its lineage, so a higher taxon is counted once per record under it) as of 5 October 2026. DOI and PMID are the first two columns. All remaining columns are ordered by how many Mechs use each vocabulary, from most to least, then by total occurrences across the fleet and vocabulary name. Rows are ordered by how many vocabularies each Mech uses; ties retain the biological scale order. Every cell opens its matching-record summary; lists show up to 300 records. Column buttons filter the graph for vocabularies with a shared-term index. The shared terms behind each chord come only from what a record cites outside prose fields, so an identifier named only in a note, a change log or a quotation counts here but is not shared. ChEBI binds the chemistry arm (media, ingredients, antibiotics, proteins); NCBITaxon and ENVO bind the organism arm (habitat, community, taxa, traits); GO and METPO bridge phenotype, structure and protein.

Layers
Vocabulary
Relationship graph of the twelve autonomous knowledge factories Nodes are Mechs arranged in a ring from habitat to culture medium; chords are shared ontology terms, outer arcs describe shared records or complementary biological coverage, and spokes show data exchange with the central kg-microbe knowledge graph.
shared identifiers, one chord per vocabulary (width = how many): ChEBINCBITaxonGOMETPOENVOAROUniProtcitationsother linked biological data complementary biological coverage (arrow points to the project covering that subject) data supplied to / received from kg-microbe fleet manifest membership

The twelve Mechs

Each card carries its Mech’s identity color. Hover a card to trace its ties in the graph above; use “Show in graph” to select it. The small print under each headline number gives reviewed records and merged pull requests; a Mech whose schema has no field recording review shows only the pull-request count, rather than a zero that would claim more than it knows. Counts were checked on October 5, 2026, with all twelve Mechs included in the vocabulary census and repository statistics. DUFMech’s 6,532 seed families are labeled separately from curated mechanism records. Each Browse link is the source for its numbered card, except CultureMech, whose count comes from its repository’s corpus snapshot, and DUFMech, whose count comes from its linked seed snapshot. CommunityMech lists 456 communities online and keeps four additional isolate records in its repository. These published-browser totals may differ from the record-corpus census below. Fleet membership and capability declarations come from CLAW fleet manifest at ad3862e.

HabitatMech

Habitat

Four habitat vocabularies harmonized into ontology-grounded records that keep every source's attestation.

3,206habitat records · 686 reviewed

686 reviewed · 876 merged PRs

ENVONCBITaxonBTOUBERONFOODONGOLDBacDive
BrowseGitHubShow in graphin fleet manifest

CommunityMech

Community

Autonomous knowledge factory for microbial communities, their interactions, cultivation conditions and evidence.

456community records · 15 categories

624 merged PRs

NCBITaxonChEBIGOENVOGTDBPMID

TaxonMech

Taxa and strains

Microbial taxa and strains identified by NCBI Taxonomy, harmonized with GTDB, LPSN and BacDive, with evidence for strain-to-genome links.

625,960taxon records · 100,745 listed strains

0 reviewed · 27 merged PRs

NCBITaxonGTDBLPSNBacDiveNCBI Assembly
BrowseGitHubShow in graphin fleet manifest

TraitMech

Traits

Autonomous knowledge factory for microbial ecophysiological traits, seeded from METPO, with one curated YAML per trait and causal mechanism graphs.

1,005trait records · 10 categories

427 reviewed · 912 merged PRs

METPOGONCBITaxonChEBIUniProtPATO
BrowseGitHubShow in graphin fleet manifest

PathwayMech

Pathways

Microbial pathway mechanisms with explicit participants, reactions, causal edges and reference-backed evidence.

152pathway records · 15 taxa

178 merged PRs

ChEBINCBITaxonRheaECUniProtKBMetaCycWikiPathways
BrowseGitHubShow in graphin fleet manifest

CellStructureMech

Cell structures

Organelles, envelope layers, appendages, microcompartments and complexes: components, distribution, function and causal mechanism.

885structure records · 751 GO-grounded

0 reviewed · 967 merged PRs

GONCBITaxonUniProtMETPOPfamPDB
BrowseGitHubShow in graphin fleet manifest

ProteinTraitsMech

Protein traits

Protein sequence, structure and function trait classes seeded from InterPro, Pfam, Rhea, CATH, SCOPe, CARD and more.

429,293protein trait records · 34 source labels

39,591 reviewed · 383 merged PRs

InterProUniProtRheaPfamGOChEBIARO
BrowseGitHubShow in graphin fleet manifest

DUFMech

Unknown functions

Evidence gathering for domains and protein families whose functions remain unresolved.

6,532seed families · 4,533 unknown candidates

The worklist separates 4,533 unknown candidates from 1,999 historical DUFs. These families are candidates for investigation, not curated mechanism records.

28 merged PRs

PfamInterPro

NaturalProductMech

Natural products

One record per natural product structure: who makes it, from which gene cluster, what it does, and the evidence for all three.

3,115natural product structures · 9 sources

0 reviewed · 361 merged PRs

MIBiGNCBITaxonChEBINPAtlasPubChemUniProt
BrowseGitHubShow in graphin fleet manifest

AntibioticMech

Antibiotics

One record per antimicrobial chemical structure, harmonizing ChEBI and CARD with targets, mode of action, resistance and evidence.

2,939antimicrobial structures · 2,669 grounded

80 reviewed · 648 merged PRs

ChEBIAROCASPubChemDrugBankNCBITaxon
BrowseGitHubShow in graphin fleet manifest

MediaIngredientMech

Ingredients

LLM-assisted curation of media-ingredient ontology mappings with full audit trails; owns ingredient identity for the fleet.

2,953ingredient records · 2,611 mapped

396 merged PRs

ChEBICASNCITFOODONENVOMeSH

CultureMech

Media

Autonomous knowledge factory curating versioned, ontology-grounded culture-media recipes from MediaDive, TogoMedium, KOMODO and the major collections.

6,320canonical media · 5 categories

265 merged PRs

ChEBIKEGGFOODONUBERONCASNCBITaxon

Explore the current sites

Alongside record browsing, the Mechs publish complementary ways to explore their data:

How the Mechs reference each other

Beyond shared vocabulary, Mechs name one another directly, in record fields, in schema slots, and in the curation practices they adopt from each other. The graph draws biological data links and complementary coverage; this detailed list also includes shared software and record formats. Arrows point at the Mech that consumes, or at the one a scope decision defers to. Taxa tie TaxonMech to much of the fleet through shared NCBI Taxonomy identifiers, while DUFMech connects to ProteinTraitsMech records through shared Pfam and InterPro families. Those links appear as chords in the graph’s shared-vocabulary layer. Direct-reference arrows require a committed record, schema or curation practice naming the other Mech.

TaxonMech→PathwayMech
PathwayMech's optional CurationEvent has the same shape as TaxonMech's; no pathway record carries curation history at this pin.Schema · PathwayMech curation_history description
HabitatMech→TaxonMech
TaxonMech's causal-graph node types are the same 16 as HabitatMech's. A habitat node may be a HabitatMech or ENVO term, the schema declares the habitatmech: prefix, and TaxonMech's curation-event helper and closed-schema write gate are ported from HabitatMech's and CellStructureMech's; no TaxonMech record has a causal graph yet.Schema · TaxonMech schema CausalNodeTypeEnum and prefixes; src/taxonmech/curate/curation_event.py, src/taxonmech/validation/write_validated.py
HabitatMech→CellStructureMech
CellStructureMech's curation-event helper and closed-schema write gate are ported from HabitatMech's modules of the same names, which HabitatMech had itself ported from TraitMech. 17 of CellStructureMech's writer scripts use both.Practice · CellStructureMech src/cellstructuremech/curate/curation_event.py; validation/write_validated.py
HabitatMech→AntibioticMech
AntibioticMech's static-site generator is ported from HabitatMech's render_pages.py, including its paged category pages that filter through a JSON index, and its stylesheet is ported from HabitatMech's. Together they render AntibioticMech's whole browser. Its curation-event helper and closed-schema write gate are adapted from HabitatMech's copies; their docstrings still credit TraitMech, which HabitatMech ported them from.Practice · AntibioticMech scripts/render_pages.py; src/antibioticmech/templates/style.css; src/antibioticmech/curate/curation_event.py
CommunityMech→TraitMech
TraitMech's Edison deep-research runner and skill are ports of CommunityMech's research_community_edison.py and deep-research-community skill. Its METPO proposal skill takes CommunityMech's v1 proposal cohort as the worked example to follow, and keeps TraitMech's placeholder ID blocks clear of that cohort's.Practice · TraitMech scripts/research_trait_edison.py; .claude/skills/deep-research-trait and metpo-proposal
CommunityMech→MediaIngredientMech
MediaIngredientMech imported 17 growth-media ingredient names that CommunityMech could not match to an existing ingredient. Each record keeps the name as a synonym from communitymech-unmapped and cites its CommunityMech source id (communitymech.ingredient:name). 10 records are still live; the other 7 were merged into existing records.Record data · MIM data/ingredients (synonym source communitymech-unmapped)
CommunityMech→CultureMech
CultureMech turned CommunityMech growth media into recipes that keep their CommunityMech ids as provenance. It also backfilled recipe source environments from the ENVO terms of CommunityMech records that point at those recipes.Record data · CultureMech scripts/import_from_communitymech.py, scripts/backfill_source_environment.py; schema SourceData.community_ids
TaxonMech→HabitatMech
TaxonMech's curation rules leave a taxon's habitats and its strains' isolation sources to HabitatMech. A TaxonMech record keeps only source attestation counts, and none of its records carries habitat data.Practice · TaxonMech docs/CURATION.md (record-scope table, Strains); README Known limitations
TaxonMech→TraitMech
TaxonMech's curation rules leave the traits and phenotypes of a taxon or strain to TraitMech, so they are never TaxonMech records. A TaxonMech record keeps only a count of the Madin and BactoTraits trait assertions about the taxon, never the trait values.Practice · TaxonMech docs/CURATION.md record table; README Known limitations
TaxonMech→CultureMech
TaxonMech's curation rules leave a taxon's growth media to CultureMech. A record keeps only a MediaDive count of the media linked to the taxon or to each strain, never the media themselves.Practice · TaxonMech docs/CURATION.md
TraitMech→HabitatMech
Habitat causal graphs reuse most of TraitMech's node types so the graphs stay comparable, and a trait node may be a TraitMech or METPO term (the 11 trait nodes in use are label-only so far). HabitatMech's deep-research runner deliberately follows TraitMech's conventions, and its curation-event and write-validation helpers are ported from TraitMech's.Schema · HabitatMech schema CausalNodeTypeEnum; scripts/research_habitat.py
TraitMech→CommunityMech
CommunityMech's /ground-or-propose-metpo curation command is adapted from TraitMech's command of the same name, and treats community interaction graphs as the analog of TraitMech's causal graphs. Its strict validator, writer audit and curation-event helper also name TraitMech as a source, alongside CultureMech and MediaIngredientMech.Practice · CommunityMech .claude/commands/ground-or-propose-metpo.md; scripts/validate_strict.py, scripts/audit_writers.py
TraitMech→TaxonMech
TaxonMech's schema lets a trait node in a causal graph be a TraitMech or METPO term and declares the traitmech: prefix; no TaxonMech record has a causal graph yet.Schema · TaxonMech schema CausalNodeTypeEnum and prefixes
TraitMech→CellStructureMech
Structures list the phenotypes they confer as TraitMech or METPO trait ids, and a CI check tests each id and label against TraitMech's published trait index. The causal-graph node types are TraitMech's plus STRUCTURE.Record data · CellStructureMech scripts/check_trait_links.py + schema associated_traits
TraitMech→ProteinTraitsMech
ProteinTraitsMech keeps a reviewed snapshot of TraitMech's TraitCategoryEnum. A CI audit that also fetches TraitMech's live schema reports a notice, never a failure, when the snapshot goes stale or when UPPER or OTHER, the only tokens both vocabularies use, is described differently (UPPER currently is). Its fallback history-record scaffolder is adapted from TraitMech's new_history_record.py.Schema · ProteinTraitsMech conf/traitmech_category_vocabulary.yaml; scripts/audit_cross_mech_categories.py; scripts/new_history_record.py
TraitMech→MediaIngredientMech
TraitMech leaves chemicals to MediaIngredientMech: its METPO seeder skips the material-entity subtree, which its docs say belongs in MIM rather than TraitMech. MIM's /ground-or-propose-ingredient curation command is ported from TraitMech's /ground-or-propose-metpo, re-aimed at chemical identity instead of phenotype.Practice · TraitMech docs/SCHEMA.md, README.md, scripts/seed_from_metpo.py; MIM .claude/commands/ground-or-propose-ingredient.md (MIM#92)
CellStructureMech→TaxonMech
TaxonMech's closed-schema write gate and its curation-history helper are ported from CellStructureMech's modules, which the code credits jointly to HabitatMech and CellStructureMech. Every TaxonMech record is written through them.Practice · TaxonMech src/taxonmech/validation/write_validated.py; src/taxonmech/curate/curation_event.py
CellStructureMech→TraitMech
CellStructureMech's scope rule leaves the phenotypes a structure confers, such as motile, flagellated or Gram-negative, to TraitMech. They are never CellStructureMech records, only associated_traits links to TraitMech or METPO terms.Practice · CellStructureMech docs/CURATION.md (record-scope table); schema description
CellStructureMech→ProteinTraitsMech
CellStructureMech's scope rule makes a single protein or protein family a component of a structure, never a record of its own: it grounds to InterPro, Pfam or UniProtKB and is left to ProteinTraitsMech. The schema also declares a proteintraitsmech: prefix, but no record uses it.Practice · CellStructureMech docs/CURATION.md; schema components slot
ProteinTraitsMech→TraitMech
TraitMech's download.yaml source catalogue follows the shape of ProteinTraitsMech's, and its check_sources.py validator is adapted from ProteinTraitsMech's. Unlike the original, it fails a source that records no licence.Practice · TraitMech download.yaml; scripts/check_sources.py; justfile sources-check
NaturalProductMech→AntibioticMech
NaturalProductMech leaves antimicrobial mechanism to AntibioticMech. For the 205 compounds that share a structure with an AntibioticMech record, it links to that record and does not copy its targets, resistance determinants or MIC data.Practice · NaturalProductMech schema molecular_targets; CLAUDE.md; docs/HARMONIZATION.md
AntibioticMech→CellStructureMech
CellStructureMech's source-queue skill, which ranks the sources in its curation/source_queue.tsv, is adapted from AntibioticMech's skill and keeps its ranking rule and adoption gate. Its stylesheet contract test is ported from AntibioticMech's.Practice · CellStructureMech .claude/skills/source-queue/SKILL.md; tests/test_stylesheet_contract.py
AntibioticMech→NaturalProductMech
NaturalProductMech pins AntibioticMech's structures in an InChIKey inventory. A natural product that shares an InChIKey with an AntibioticMech record links to it and takes its antimicrobial class, but not its targets or resistance data. NaturalProductMech also used AntibioticMech as its template: its source-queue, add-natural-product (from add-antibiotic), curate-yaml-record and review-open-issues skills, its curation-event helper and its closed-schema write gate are adapted from AntibioticMech's.Record data · NaturalProductMech scripts/extract_antibioticmech.py; data/raw/antibioticmech_inchikeys.tsv; .claude/skills
MediaIngredientMech→HabitatMech
HabitatMech's seeder checks the label claimed by each upstream kg-microbe isolation-source mapping and, following MediaIngredientMech's SSSOM Rule B4, accepts an exact ontology synonym as well as the canonical label. Per the code, the rule changes no current record.Practice · HabitatMech src/habitatmech/seed.py verified_mapping_target; tests/test_seed_harmonization.py
MediaIngredientMech→CommunityMech
CommunityMech growth-media components cite MIM ingredients by id (media_ingredient_mech_id), but they use MIM's retired MediaIngredientMech:NNNNNN scheme, so the ids no longer resolve. Its environment-matching tools read MIM's ingredient records and SSSOM mappings. They join on the exactMatch CHEBI term, which is what MIM's CURIE standard recommends; MIM wrote that standard for CommunityMech (MIM#119).Record data · CommunityMech schema GrowthMediaComponent, src/communitymech/cross_repo_environment.py; MIM docs/CURIE_STANDARD.md
MediaIngredientMech→TraitMech
TraitMech ported its write-time validation gate and curation-event helper from CultureMech by way of MediaIngredientMech's versions, and its composite qc target mirrors MIM's. Its FAPROTAX synonym script follows MIM's rule: correct the label and keep the raw string.Practice · TraitMech src/traitmech/validation/write_validated.py; src/traitmech/curate/curation_event.py; justfile qc; scripts/add_faprotax_synonyms.py
MediaIngredientMech→ProteinTraitsMech
ProteinTraitsMech's trait-merge rules, where only an exact identity match is merged and a similar name is only flagged for review, are adapted from MediaIngredientMech's same-ChEBI merge rule. Its oaklib version-pin test is ported from MediaIngredientMech's test of the same name.Practice · ProteinTraitsMech .claude/skills/merge-traits/SKILL.md (just analyze-merges); tests/test_oaklib_semsql_pin.py
MediaIngredientMech→CultureMech
5,700 of CultureMech's 6,320 canonical media link ingredients to their curated MIM records through mediaingredientmech_chebi_term, about 70% of all ingredient rows, and older records keep legacy MediaIngredientMech:NNNNNN ids. CultureMech also resolves ingredient labels against a pinned copy of MIM's label index, types its role slots with MIM's vendored role enums and took over stock solutions from MIM's complex-media list, while MIM's schema leaves recipe bodies to CultureMech.Record data · CultureMech schema mediaingredientmech_chebi_term, mim_roles.yaml; src/culturemech/ingredients/mim_label_index.py
CultureMech→CommunityMech
Community records name the CultureMech medium they were grown in, or an environment-matched one, by culturemech_id, and CommunityMech's media linker copies CultureMech recipe components into them. CommunityMech also ported CultureMech's schema-validated writer and its Edison deep-research runner.Record data · CommunityMech schema GrowthMedia/RelatedMedia culturemech_id; scripts/link_growth_media.py; src/communitymech/validation/write_validated.py
CultureMech→TraitMech
TraitMech's curation-history helper and its schema-validated YAML writer are ports of CultureMech's, by way of MediaIngredientMech's versions, and nearly every TraitMech write script goes through them. TraitMech's qc recipe also mirrors CultureMech's.Practice · TraitMech src/traitmech/curate/curation_event.py; src/traitmech/validation/write_validated.py
CultureMech→MediaIngredientMech
MIM reads CultureMech's ingredient-occurrence table to set each record's occurrence counts, to publish a recipe-membership edge list keyed on CultureMech:NNNNNN ids, and to turn labels it cannot resolve into new records and synonyms. CultureMech leaves questions about an ingredient's chemical form to MIM, and MIM's validated record writer and curation-event helper are ported from CultureMech.Record data · MIM mappings/culturemech_recipe_membership.tsv, scripts/refresh_occurrence_statistics.py; CultureMech docs/DATA_LAYERS.md

Orchestration: culturebotai-claw

culturebotai-claw is the fleet’s coordinator. It does not hold science of its own; it holds the definition of the fleet, the artifacts every Mech must share byte-for-byte, and tooling for cross-repository curation and validation.

Fleet manifest

fleet.yaml is the single source of truth for which repositories form the fleet. The manifest declares eleven of the twelve projects shown here, including PathwayMech. DUFMech is listed here and is not yet declared in the manifest. Every member declares every capability exactly once as enabled, disabled or not applicable, and every disabled or not-applicable entry gives a reason, so nothing is silently off.

Vendored governance

Shared LinkML modules (mech_shared.yaml, history.yaml), validators and behavioral contracts live in claw and are vendored into its declared members byte-identically, pinned to one immutable claw commit and checked in CI. The canonical registry defines 20 artifacts, with each member receiving the contracts that apply to it.

Pipelines and skills

CLAW provides pipeline discovery, repository checks, shared curation tools and validated dry runs. Agent and pipeline execution through openclaw-cli is not implemented; environment-curation and unified ingredient-mapping apply modes are disabled pending transactional writers. Deep-research tooling supports provider triage and dry-run result capture; provider execution is not implemented.

The current support matrix distinguishes supported tools from planned execution. The autonomous knowledge factory label describes each Mech’s curation model with human oversight; it does not imply that every CLAW workflow runs unattended.

Capability declarations from CLAW record adoption of shared contracts; they do not certify complete validation of every record field or that every failed check blocks a merge. Every disabled entry records a reason, such as no download.yaml or no source queue yet. DUFMech is included with undeclared capabilities because it is not yet a manifest member:

MechID label validationCuration historyStrict validationSchema syncRelease managementBuild coordinationDocumentationTestingRefactoringCoordination hooksDeep researchEdison key discoveryEnvironment coverageKnowledge-gap scanVendored syncUnmapped inventory inputSource catalogueCorpus statisticsCausal-graph coveragePage budgetsKGX exportSource queueMETPO proposalSSSOM exportWriter auditSite contract
HabitatMech
CommunityMech
TaxonMech
TraitMech
PathwayMech
CellStructureMech
ProteinTraitsMech
DUFMech
NaturalProductMech
AntibioticMech
MediaIngredientMech
CultureMech
enableddisabled, with a recorded reasonnot applicable to this corpusnot declared in CLAW

What makes a Mech

The established Mechs share curation conventions, with adoption recorded per capability in the table above. DUFMech currently provides a seed worklist; the record and schema conventions below describe the structured corpora. The fleet standard is documented in CLAW’s MECH_STANDARD.md:

Bibliography

  1. Santangelo BE, Hegde H, Caufield JH, Reese J, Kliegr T, Hunter LE, Lozupone CA, Mungall CJ, Joachimiak MP. KG-Microbe — Building Modular and Scalable Knowledge Graphs for Microbiome and Microbial Sciences. GigaScience. 2026;giag077. doi:10.1093/gigascience/giag077
  2. Naseem S, Miller MA, Martinez-Gomez NC, Sun N, Joachimiak MP. MicroGrowAgents: An Agentic AI System for Microbial Cultivation Engineering. bioRxiv. 2026. doi:10.64898/2026.06.04.729985

See the full bibliography on the Publications page.