diff --git a/CHANGELOG.md b/CHANGELOG.md index 7db2e12..a967fe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ on the way to cutting its first release, and this file starts there. ## Unreleased +## 0.3.0 — 2026-07-21 + ### Fixed - Deleting a shipped release heading from `CHANGELOG.md` is caught on every PR diff --git a/VERSION b/VERSION index a5fea60..0d91a54 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2.1-dev +0.3.0 diff --git a/drills/0.3.0.md b/drills/0.3.0.md new file mode 100644 index 0000000..96b9b52 --- /dev/null +++ b/drills/0.3.0.md @@ -0,0 +1,59 @@ +# rig 0.3.0 — release drill + +**WAIVED. No drill was run for this release.** + +Waived by the maintainer (@danmt) on 2026-07-21. This file exists because the +gate requires a *record*, not a passing result — so a skip is a line in a diff +somebody reviewed, rather than a silence nobody notices. + +## Why + +The drill harness is not in a state to produce a trustworthy run, and rig is +the sharpest case: **rig has no drill harness of its own at all.** Its legs — +tenant guests minted via box and converged, the GitHub runner lifecycle against +a fork, `rig coolify install` and the backup install failing to its credential +boundary — have only ever been run by hand, reconstructed each time. box has a +harness; rig and cast do not. + +A run improvised under those conditions produces numbers nobody should rely on, +and `drills/` is worth nothing if it fills with records like that. + +Deferred deliberately, and tracked: #107. + +## What this release therefore does NOT prove + +Stated plainly so it is not rediscovered as a surprise: + +- **Convergence on real hardware** — that a machine reaches its role, and + reaches it *idempotently*, on a host that is not a container. +- **The `--host yes` path end to end** — rig installing box and running its + `setup-host` on a bare machine, which is the bottom of the whole stack. +- **The three BREAKING renames in this release under real use** — `--class` → + `--root-door` (#77), and the `-box` / `-server` role suffixes (#76). These are + hard cuts with no aliases; CI proves the parsing, not the lived upgrade. +- **The combination users receive.** rig still resolves `BOX_REF` to `main` + (#103), so even a passing drill would have proven a pair that drifts the + moment box's main moves. + +## What CI did prove on this tree + +Not nothing, and worth recording so the gap is precise rather than total: + +| Job | Result | +|---|---| +| `db-integration` — a real PostgreSQL dump/restore round-trip | pass | +| `scope` | pass | +| `reconcile` | pass | +| `test/cli.sh` | 566 passed, 0 failed | +| `test/release.sh` | 134 passed, 0 failed | +| `test/labels-reconcile.sh` | 72 passed, 0 failed | +| CI shellcheck sweep (globstar + dotglob) | clean | + +The command surface and the DB round-trip are covered. Convergence on real +hardware is not. + +## The commitment + +The next release carries a real drill record at `drills/.md` — what +ran, on what host, the pinned refs and SHAs, the numbers, and what failed. A +failed drill is a valid record; another waiver is not. Tracked in #107.