feat: convert unreleased changelog to fragments
This commit is contained in:
parent
e22e0dd4a8
commit
728b97df8a
16 changed files with 60 additions and 31 deletions
4
.github/pull_request_template.md
vendored
4
.github/pull_request_template.md
vendored
|
|
@ -12,8 +12,8 @@ to the issue for triage to amend, not silently unshipped. -->
|
|||
|
||||
## Changelog
|
||||
|
||||
- [ ] One line under `## Unreleased` — inserted **above** the heading below
|
||||
it, never over it — or no behavior change, stated here.
|
||||
- [ ] One `changelog.d/<issue>.md` fragment containing the exact publishable
|
||||
prose — or no behavior change, stated here.
|
||||
|
||||
## Round log
|
||||
|
||||
|
|
|
|||
24
CHANGELOG.md
24
CHANGELOG.md
|
|
@ -4,30 +4,6 @@ History before 0.1.0 lives in git — rig grew its version surface (`VERSION`,
|
|||
`rig --version`, the side-by-side `versions/<v>` install layout; #35/#36)
|
||||
on the way to cutting its first release, and this file starts there.
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
- `drill/drill.sh` — the drill has an instrument: pinned-ref assertion, a mechanical idempotence diff, and a `drills/<version>.md` record emitter (#105)
|
||||
- GitHub entry templates route humans to Discussions and prefill triage work orders and pull requests (#123)
|
||||
- `rig platform` prints a stable machine `ID`, derived from `/etc/machine-id`, never the raw value (#95)
|
||||
- Platform, drill, docs and labels changes receive dedicated scope labels (#119)
|
||||
- CI drills the install lifecycle against a real tree — install from the checkout, converge to an empty diff, uninstall to proven absence (#106)
|
||||
- `rig bootstrap --undo` removes only a tailnet join rig can prove it made (#63)
|
||||
- `kimi-box` joins the box tenant roles — the Kimi CLI agent guest (#109)
|
||||
- The `changelog-armed` guard returns, version-keyed (#112, ceremony#13)
|
||||
- The `.ceremony/` doctrine mirror, verified by `docs-sync` on every PR (#112, ceremony#19)
|
||||
|
||||
### Changed
|
||||
|
||||
- `bootstrap --host yes` installs a pinned box release instead of `main` (#103)
|
||||
- Release and labels machinery is consumed from heavy-duty/ceremony@0.1.0 by reference — the workflows shrink to caller stubs, the guard scripts and their tests move upstream (#112, ceremony#13)
|
||||
|
||||
### Fixed
|
||||
|
||||
- The drill's docs no longer claim both installers default to `main` — box installs the `BOX_RELEASE` pin, rig the latest release, and its `--box-ref` example is now a tag (#133)
|
||||
- `kimi-bot-andresmgsl` is on the review panel — the roster predated it joining the bench (#120)
|
||||
|
||||
## 0.3.0 — 2026-07-21
|
||||
|
||||
### Fixed
|
||||
|
|
|
|||
|
|
@ -25,14 +25,16 @@ genuinely rig's.
|
|||
round-trip (`test/db-integration.sh`) executes in CI where Docker is
|
||||
present. The release guards (`changelog-armed`, `changelog-monotonic`,
|
||||
`drill-recorded`, `docs-sync`) run as ceremony's pinned actions.
|
||||
4. **Feature PRs land their changelog entry as part of the PR**: add it
|
||||
under `CHANGELOG.md`'s `## Unreleased` heading — that section becomes
|
||||
the release notes verbatim when a release is cut.
|
||||
4. **Feature PRs land their changelog entry as part of the PR**: write
|
||||
`changelog.d/<issue>.md` — the release PR assembles those fragments into
|
||||
the release notes verbatim.
|
||||
|
||||
## Changelog entries
|
||||
|
||||
Every PR that changes behaviour adds one line to `## Unreleased`. One line is
|
||||
the whole rule — if it wraps more than twice in your editor, cut it down.
|
||||
Every PR that changes behaviour writes one `changelog.d/<issue>.md` fragment.
|
||||
The fragment keeps the relevant `### Added` / `### Changed` / `### Fixed`
|
||||
heading above its entry. One line is the whole rule — if it wraps more than
|
||||
twice in your editor, cut it down.
|
||||
|
||||
- **Say what changed, and stop.** Why it was wrong, how it was found, what it
|
||||
cost, what it implies — that belongs in the PR body and the commit message,
|
||||
|
|
|
|||
3
changelog.d/103.md
Normal file
3
changelog.d/103.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Changed
|
||||
|
||||
- `bootstrap --host yes` installs a pinned box release instead of `main` (#103)
|
||||
3
changelog.d/105.md
Normal file
3
changelog.d/105.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- `drill/drill.sh` — the drill has an instrument: pinned-ref assertion, a mechanical idempotence diff, and a `drills/<version>.md` record emitter (#105)
|
||||
3
changelog.d/106.md
Normal file
3
changelog.d/106.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- CI drills the install lifecycle against a real tree — install from the checkout, converge to an empty diff, uninstall to proven absence (#106)
|
||||
3
changelog.d/109.md
Normal file
3
changelog.d/109.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- `kimi-box` joins the box tenant roles — the Kimi CLI agent guest (#109)
|
||||
8
changelog.d/112.md
Normal file
8
changelog.d/112.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
### Added
|
||||
|
||||
- The `changelog-armed` guard returns, version-keyed (#112, ceremony#13)
|
||||
- The `.ceremony/` doctrine mirror, verified by `docs-sync` on every PR (#112, ceremony#19)
|
||||
|
||||
### Changed
|
||||
|
||||
- Release and labels machinery is consumed from heavy-duty/ceremony@0.1.0 by reference — the workflows shrink to caller stubs, the guard scripts and their tests move upstream (#112, ceremony#13)
|
||||
3
changelog.d/119.md
Normal file
3
changelog.d/119.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- Platform, drill, docs and labels changes receive dedicated scope labels (#119)
|
||||
3
changelog.d/120.md
Normal file
3
changelog.d/120.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Fixed
|
||||
|
||||
- `kimi-bot-andresmgsl` is on the review panel — the roster predated it joining the bench (#120)
|
||||
3
changelog.d/123.md
Normal file
3
changelog.d/123.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- GitHub entry templates route humans to Discussions and prefill triage work orders and pull requests (#123)
|
||||
3
changelog.d/133.md
Normal file
3
changelog.d/133.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Fixed
|
||||
|
||||
- The drill's docs no longer claim both installers default to `main` — box installs the `BOX_RELEASE` pin, rig the latest release, and its `--box-ref` example is now a tag (#133)
|
||||
3
changelog.d/136.md
Normal file
3
changelog.d/136.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Changed
|
||||
|
||||
- Changelog entries land in per-issue fragments assembled by the release PR (#136)
|
||||
3
changelog.d/63.md
Normal file
3
changelog.d/63.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- `rig bootstrap --undo` removes only a tailnet join rig can prove it made (#63)
|
||||
3
changelog.d/95.md
Normal file
3
changelog.d/95.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
### Added
|
||||
|
||||
- `rig platform` prints a stable machine `ID`, derived from `/etc/machine-id`, never the raw value (#95)
|
||||
10
changelog.d/README.md
Normal file
10
changelog.d/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# changelog.d/ — the next release's section, one fragment per issue
|
||||
|
||||
Machine-assembled by `bin/changelog-assemble` (#112): every PR that changes
|
||||
behavior writes one file here — `<issue>.md`, the exact prose that will be
|
||||
published, nothing else — and the release PR folds them all into the next
|
||||
`## X.Y.Z — DATE` section of `CHANGELOG.md`, consuming them. Distinct
|
||||
filenames never conflict, which is this directory's whole reason to exist.
|
||||
This README is the marker that keeps the directory tracked when it holds no
|
||||
fragments (#112 D1) — `changelog-armed` refuses a tree without it; do not
|
||||
delete it.
|
||||
Loading…
Reference in a new issue