TODO - Git workflow - [x] Questions gathered and answered - [x] Proposal iteration 2 drafted - [x] Finalize approval and capture in [docs/git-workflow.md](git-workflow.md) - Branches - [x] Create integration, release, bootstrap from main - [x] Push bootstrap to origin - [ ] Decide whether to maintain a fast-forwarded release branch to the latest tag - CI/CD bootstrap - [x] Create branch bootstrap-cicd from main - [x] Add questions at [COMMON/questions/bootstrap-cicd.md](../COMMON/questions/bootstrap-cicd.md) - [x] Draft proposal based on answers - [x] Implement parity tooling: scripts/ci, docker/ci.Dockerfile, docker/ci.compose.yml - [x] Add .gitea/workflows: ci.yml, release.yml, nightly.yml - [x] Add commitlint.config.cjs, Makefile - [ ] Optional: add .pre-commit-config.yaml (defer for now) - [ ] Optional: add CODEOWNERS - Protections & settings (in Gitea UI) - [ ] Protect main and release/* with required checks - [ ] Leave integration unprotected; allow auto-merge on green - [ ] Require 1 approval for integration→main - [ ] Revisit enabling CI and protections after runners are ready (target: 2025-09-24) - Releases - [ ] Tag format vYYYY.MM.DD-HHMM (UTC) in release workflow - [ ] Optional: fast-forward release branch to latest tag - Docs - [ ] Write [docs/engineering/git-workflow.md](engineering/git-workflow.md) with diagrams and examples