# Release Process ## Cadence - Scheduled release: monthly milestone or when a major quality threshold is met. - Hotfix release: any urgent fixes that should not wait for the next milestone. ## Required for Release - Changelog summary in [../CHANGELOG.md](../CHANGELOG.md) - Benchmark snapshot in [../benchmarks/results/README.md](../benchmarks/results/README.md) format - Known limitations section in release notes - Reproducible commands or scripts - Validation checks: - `python scripts/check_links.py` - `python scripts/validate_normalization.py data/processed/normalization_seed_v0.1.tsv` - `python scripts/validate_resource_catalog.py` ## Versioning Use three-figure tags with fixed meaning: - `vMAJOR.CODE.RESOURCE` - `MAJOR`: major milestones and large project-level changes. - `CODE`: code fixes, implementation changes, and internal patch updates. - `RESOURCE`: resource-catalog updates after candidate discovery and review. Examples: - `v1.0.1`: resource update release. - `v1.1.1`: code-fix release. - `v2.0.0`: next major milestone. Daily bot rule: - Daily GitHub Actions bot sync updates (`resource_sync.yml`) are resource updates. - If only bot-driven resource catalog changes are shipped, use the next `vMAJOR.CODE.RESOURCE+1` tag. ## Release Notes Location - Store release notes in [releases/README.md](releases/README.md). - Add one file per release tag under `docs/releases/`. ## Templates - Release checklist: [release_checklist.md](release_checklist.md) - Release template: [../.github/release_template.md](../.github/release_template.md)