A staging "drop box" where GO curators submit complete, production-worthy GO-CAM models as pull requests. Every submission is validated by CI before a maintainer merges it. Validated models are intended to flow into the main GO-CAM / Noctua workflows by a mechanism that is still to be designed (see "Status" below).
Status: early / forming. The contract and the CI gates below are real and working, but the promotion path into production is not yet built, and details may still change.
- Format: a GO-CAM model serialized as gocam-py YAML (the LinkML data model for GO-CAMs).
- Identifier: the model
idis in thegomodel:namespace with a drop-box-specific internal id:gomodel:gcdb-<UUID>. - Filename: the file lives at
models/gcdb-<UUID>.yamland its name must match the modelid.
You mint the gcdb-<UUID> yourself (a UUID guarantees it can never collide with
a production model id — those are hex, minted by Noctua/minerva). See
CONTRIBUTING.md.
A PR can only be merged once all of these pass on each added/changed model:
- Identifier & filename.
idmatchesgomodel:gcdb-<UUID>(valid UUID), the filename matches the id, and the id is unique withinmodels/. - LinkML schema conformance. The model validates against the pinned gocam-py GO-CAM LinkML schema.
- "True GO-CAM" semantics. The model is complete and production-worthy —
productionstatus, a connected causal graph (no orphan activities), and evidence. These criteria live invalidation/criteria.yamland are intentionally modular so the bar can be loosened later. - Ontology-term validity. Every ontology term used (GO, RO, ECO, CHEBI, NCBITaxon, …) exists and is not obsolete, checked with oaklib.
Run all four locally before opening a PR:
pip install -r validation/requirements.txt
python validation/validate_model.py models/gcdb-<UUID>.yamlGitHub organization members. Anyone can technically open a PR on a public repo, but merge is gated on the CI checks above and a maintainer's review; we only support submissions from GO-org members at this time.
| Path | What |
|---|---|
models/ |
Submitted models, gcdb-<UUID>.yaml each |
examples/ |
Reference model(s) that demonstrate the format and pass all gates |
validation/ |
The validator (validate_model.py) + the modular criteria + pinned deps |
.github/workflows/validate.yml |
The CI that runs the four gates on each PR |
CLAUDE.md |
Instructions for AI agents that author/submit models on a curator's behalf |