Use towncrier orphan fragment naming for C0 changes
C0 changes have no branch name, so `main.<type>.md` fragments collide. Switch to towncrier's `+<slug>.<type>.md` orphan convention and rename existing `main.*` fragments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d7f0aa6f96
commit
b3d5478020
6 changed files with 10 additions and 3 deletions
|
|
@ -19,9 +19,11 @@ blumeops is Erich Blume's GitOps repository for personal infrastructure, orchest
|
|||
3. **Classify the change as C0/C1/C2 before starting** (see below) — this determines branching and PR requirements
|
||||
4. **Feature branches + PRs for C1/C2** - checkout main, pull, create branch, open PR via `tea pr create`. C0 goes direct to main.
|
||||
5. **Check PR comments with `mise run pr-comments <pr_number>`** before proceeding
|
||||
6. **Add changelog fragments (all change levels)** - `docs/changelog.d/<branch>.<type>.md`
|
||||
6. **Add changelog fragments (all change levels)** - `docs/changelog.d/<name>.<type>.md`
|
||||
Types: `feature`, `bugfix`, `infra`, `doc`, `ai`, `misc`
|
||||
Applies to C0, C1, and C2 whenever the change is user-visible or noteworthy.
|
||||
- **C1/C2:** Use branch name: `<branch>.<type>.md`
|
||||
- **C0:** Use orphan prefix: `+<descriptive-slug>.<type>.md` (avoids `main.*` collisions)
|
||||
7. **Test before applying** - dry runs (`--check --diff`), syntax checks, `ssh indri '...'`
|
||||
8. **Wait for user review before deploying** (C1/C2)
|
||||
9. **Never merge PRs or push to main without explicit request** (C0 commits to main are fine)
|
||||
|
|
|
|||
1
docs/changelog.d/+orphan-fragment-convention.doc.md
Normal file
1
docs/changelog.d/+orphan-fragment-convention.doc.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
Use towncrier orphan fragment naming (`+slug.<type>.md`) for C0 changes to avoid `main.*` collisions.
|
||||
|
|
@ -29,7 +29,7 @@ A change where the risk is low enough that problems can be quickly fixed forward
|
|||
|
||||
1. Run `mise run ai-docs` to load context
|
||||
2. Implement the change directly on main
|
||||
3. Add a changelog fragment if the change is user-visible or noteworthy (`docs/changelog.d/<description>.<type>.md`)
|
||||
3. Add a changelog fragment if the change is user-visible or noteworthy (`docs/changelog.d/+<descriptive-slug>.<type>.md`)
|
||||
4. Commit and push
|
||||
|
||||
No feature branch or PR required. If something goes wrong, fix forward with another commit.
|
||||
|
|
@ -270,7 +270,7 @@ tags:
|
|||
- **C0:** Commit directly to main
|
||||
- **C1:** Single feature branch, PR early, push often
|
||||
- **C2:** Branch named `mikado/<chain-stem>`, Mikado Branch Invariant enforced, `C2()` commit convention, PR early, push after every leaf-node closure
|
||||
- **Changelog fragments (all levels):** Add `docs/changelog.d/<name>.<type>.md` for any user-visible or noteworthy change, regardless of change class. C0 includes the fragment in the same commit. C1 includes it during the branch work. C2 includes it in the `finalize` commit.
|
||||
- **Changelog fragments (all levels):** Add `docs/changelog.d/<name>.<type>.md` for any user-visible or noteworthy change, regardless of change class. C0 uses orphan fragments (`+<descriptive-slug>.<type>.md`) to avoid `main.*` collisions. C1/C2 use the branch name (`<branch>.<type>.md`). C0 includes the fragment in the same commit. C1 includes it during the branch work. C2 includes it in the `finalize` commit.
|
||||
- **Deploy from branches** — C1 and C2 changes deploy from the unmerged branch (ArgoCD `--revision`, Ansible from checkout, etc.). Reset to main after merge.
|
||||
- GitOps requires pushing to test — if a pushed commit breaks, revert it promptly
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,11 @@ EOF
|
|||
|
||||
Add a fragment for user-visible changes:
|
||||
```bash
|
||||
# C1/C2: use branch name
|
||||
echo "Description" > docs/changelog.d/branch-name.feature.md
|
||||
|
||||
# C0: use orphan prefix (no branch to name after)
|
||||
echo "Description" > docs/changelog.d/+descriptive-slug.feature.md
|
||||
```
|
||||
|
||||
Types (file suffix): `.feature`, `.bugfix`, `.infra`, `.doc`, `.ai`, `.misc`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue