feat: convert unreleased changelog to fragments

This commit is contained in:
codex-bot-andresmgsl 2026-07-24 13:55:28 +00:00
parent e22e0dd4a8
commit 728b97df8a
16 changed files with 60 additions and 31 deletions

View file

@ -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

View file

@ -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

View file

@ -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
View 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
View 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
View 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
View 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
View 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
View file

@ -0,0 +1,3 @@
### Added
- Platform, drill, docs and labels changes receive dedicated scope labels (#119)

3
changelog.d/120.md Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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.