Branching Strategy¶
This repository follows a staged promotion model to protect main.
Branch roles¶
main: production-ready code only.dev: integration branch for ongoing work.feat/*: feature implementation branches.feature/*: legacy alias supported for compatibility.fix/*: bugfix branches.docs/*: documentation-only branches.release/*: release hardening and final validation.
Promotion flow¶
feat/* -> dev -> release/* -> main
Merge policy¶
- Never merge
feat/*directly intomain. release/*accepts only stabilization changes: bug fixes, tests, documentation, and release metadata.- All pull requests must pass CI before merge.
- Every code change must include or update tests.
- Changelog entry is required for user-visible behavior changes.
Recommended release cadence¶
- Open
release/<version>fromdev. - Freeze feature work in release branch.
- Run full quality gate:
ruff,pytest, smoke analysis, and executable smoke test. - Merge
release/<version>intomain. - Tag and publish release.
- Back-merge release fixes into
dev.