CommunityMech and the CultureBot mechs
A knowledge base of microbial communities, and the clearest evidence that the DisMech pattern transfers to a different domain and a different group.
Repository: CultureBotAI/CommunityMech
Product: kb/communities/*.yaml, one file per community
CommunityMech says so directly in its README: "Adapted from Monarch Initiative's dismech". It is one of six knowledge bases in the CultureBotAI organization built on the same shape.
What to look at
| Path | What it is |
|---|---|
src/communitymech/schema/communitymech.yaml |
The LinkML schema |
kb/communities/ |
One YAML file per community |
src/communitymech/export/kgx_export.py |
Koza transform to knowledge graph edges |
src/communitymech/export/browser_export.py |
Faceted browser export |
justfile |
Validation and generation commands |
The commands and layout match DisMech closely: just validate,
just validate-terms, just validate-references. If you have read one
repository you can navigate the other.
The family
| Repository | What it curates | Scale |
|---|---|---|
| CultureMech | Culture media recipes | 10,657 recipes from 10 sources |
| MediaIngredientMech | Media ingredients and their ontology mappings | 995 mapped, 136 unmapped |
| CommunityMech | Microbial communities and their interactions | Tens of communities |
| HabitatMech | Microbial habitats | About 3,200 habitat records |
| TraitMech | Microbial traits, seeded from METPO | 354 records, 233 reviewed |
| proteintraitsmech | Protein traits | Early |
What works
One shape, six knowledge bases
Each repository curates a different kind of thing, but all of them use one YAML
file per record, a LinkML schema, ontology-grounded terms, evidence with
citations, and a justfile. A curator who learns one can work in any of them.
So can an agent.
This is the strongest argument for the mech pattern. It was not designed to be reusable, and it turned out to be.
The repositories feed each other
CultureMech aggregates 10,657 media recipes. MediaIngredientMech takes the ingredients out of those recipes and curates their ontology mappings, then exports the validated mappings back. The output of one curation project is the input to the next, and both sides are files under version control.
Curation events are recorded, including AI assistance
MediaIngredientMech's schema has a CurationEvent class that records who made a
change, when, and whether an LLM helped. Provenance is part of the data model
rather than something reconstructed from Git history afterwards.
Cross-repository work has its own agent layer
culturebotai-claw coordinates agents across the repositories for jobs no single repository owns: schema changes that have to propagate, synchronized releases, and integration testing. It also assigns a model tier per job, so documentation runs on a cheap model and integrity auditing runs on an expensive one.
This layer is early. Several of its agents are not built yet. Read it for the idea rather than as a finished tool.
What to copy first
If you are starting a new knowledge base, copy the repository layout from CommunityMech or HabitatMech rather than from DisMech. DisMech carries years of accumulated automation. These are smaller and easier to read as a starting point.
Gaps
Some justfile targets in the CommunityMech README are planned rather than
built. Check the justfile before you rely on a command.
Several READMEs in the family contain absolute paths from a developer's laptop
in their setup instructions. Use git clone and ignore those lines.