forked from heavy-duty/rig
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
|
## Changelog
|
||||||
|
|
||||||
- [ ] One line under `## Unreleased` — inserted **above** the heading below
|
- [ ] One `changelog.d/<issue>.md` fragment containing the exact publishable
|
||||||
it, never over it — or no behavior change, stated here.
|
prose — or no behavior change, stated here.
|
||||||
|
|
||||||
## Round log
|
## 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)
|
`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.
|
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
|
## 0.3.0 — 2026-07-21
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
||||||
|
|
@ -25,14 +25,16 @@ genuinely rig's.
|
||||||
round-trip (`test/db-integration.sh`) executes in CI where Docker is
|
round-trip (`test/db-integration.sh`) executes in CI where Docker is
|
||||||
present. The release guards (`changelog-armed`, `changelog-monotonic`,
|
present. The release guards (`changelog-armed`, `changelog-monotonic`,
|
||||||
`drill-recorded`, `docs-sync`) run as ceremony's pinned actions.
|
`drill-recorded`, `docs-sync`) run as ceremony's pinned actions.
|
||||||
4. **Feature PRs land their changelog entry as part of the PR**: add it
|
4. **Feature PRs land their changelog entry as part of the PR**: write
|
||||||
under `CHANGELOG.md`'s `## Unreleased` heading — that section becomes
|
`changelog.d/<issue>.md` — the release PR assembles those fragments into
|
||||||
the release notes verbatim when a release is cut.
|
the release notes verbatim.
|
||||||
|
|
||||||
## Changelog entries
|
## Changelog entries
|
||||||
|
|
||||||
Every PR that changes behaviour adds one line to `## Unreleased`. One line is
|
Every PR that changes behaviour writes one `changelog.d/<issue>.md` fragment.
|
||||||
the whole rule — if it wraps more than twice in your editor, cut it down.
|
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
|
- **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,
|
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