From 81a8ca24b9a9097cb211e55ea7984b4485291e01 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Tue, 3 Mar 2026 13:15:06 -0800 Subject: [PATCH] =?UTF-8?q?Clarify=20that=20changelog=20fragments=20apply?= =?UTF-8?q?=20to=20all=20change=20levels=20(C0=E2=80=93C2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 3 ++- docs/changelog.d/changelog-all-levels.doc.md | 1 + docs/how-to/agent-change-process.md | 15 +++++++++------ 3 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 docs/changelog.d/changelog-all-levels.doc.md diff --git a/CLAUDE.md b/CLAUDE.md index 57c964e..3b4160b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,8 +19,9 @@ 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 `** before proceeding -6. **Add changelog fragments** - `docs/changelog.d/..md` +6. **Add changelog fragments (all change levels)** - `docs/changelog.d/..md` Types: `feature`, `bugfix`, `infra`, `doc`, `ai`, `misc` + Applies to C0, C1, and C2 whenever the change is user-visible or noteworthy. 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) diff --git a/docs/changelog.d/changelog-all-levels.doc.md b/docs/changelog.d/changelog-all-levels.doc.md new file mode 100644 index 0000000..f39ea81 --- /dev/null +++ b/docs/changelog.d/changelog-all-levels.doc.md @@ -0,0 +1 @@ +Clarify that changelog fragments apply to all change levels (C0, C1, C2), not just C2. diff --git a/docs/how-to/agent-change-process.md b/docs/how-to/agent-change-process.md index 0e19cf5..429e473 100644 --- a/docs/how-to/agent-change-process.md +++ b/docs/how-to/agent-change-process.md @@ -1,6 +1,6 @@ --- title: Agent Change Process -modified: 2026-02-24 +modified: 2026-03-03 last-reviewed: 2026-02-23 tags: - how-to @@ -29,7 +29,8 @@ 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. Commit and push +3. Add a changelog fragment if the change is user-visible or noteworthy (`docs/changelog.d/..md`) +4. Commit and push No feature branch or PR required. If something goes wrong, fix forward with another commit. @@ -46,13 +47,14 @@ A change with enough complexity or risk that a human should review it, but not s 3. **Create a feature branch** and open a PR early (draft is fine) 4. **Documentation first** — commit doc changes reflecting the desired end state before writing code. This helps the reviewer understand intent and catches design issues early 5. **Implement** — commit code changes, pushing as you go. The PR gets updated along the way and the user can review and comment at any point -6. **Deploy from the branch** — do not wait for merge: +6. **Add changelog fragment** — `docs/changelog.d/..md` for any user-visible or noteworthy changes +7. **Deploy from the branch** — do not wait for merge: - **ArgoCD:** `argocd app set --revision && argocd app sync ` - **Ansible:** run playbooks directly from the branch checkout - **Workflows:** point workflow triggers at the branch if needed -7. After user review and successful deployment, the user merges the PR -8. **After merge:** reset ArgoCD revisions back to main, re-sync -9. **If the PR changed `containers/`:** the merge triggers a rebuild from main automatically. Once it completes, commit a C0 updating the manifest to the new `[main]`-tagged image (see [[build-container-image#Squash-merge and container tags]]) +8. After user review and successful deployment, the user merges the PR +9. **After merge:** reset ArgoCD revisions back to main, re-sync +10. **If the PR changed `containers/`:** the merge triggers a rebuild from main automatically. Once it completes, commit a C0 updating the manifest to the new `[main]`-tagged image (see [[build-container-image#Squash-merge and container tags]]) ### Upgrading to C2 @@ -268,6 +270,7 @@ tags: - **C0:** Commit directly to main - **C1:** Single feature branch, PR early, push often - **C2:** Branch named `mikado/`, Mikado Branch Invariant enforced, `C2()` commit convention, PR early, push after every leaf-node closure +- **Changelog fragments (all levels):** Add `docs/changelog.d/..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. - **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