chore: re-pin self-bootstrap to v0.30.0-rc.2 (#172) #455

Merged
bosun merged 1 commit from repin/v0.30.0-rc.2 into main 2026-07-07 12:34:57 +02:00

Automated self-bootstrap re-pin to v0.30.0-rc.2 (release-toolkit#172, scripts/repin.sh).

  • rc tag v0.30.0-rc.2 points at a detached bake commit (4d4a7bc72b7b) carrying BUILD_BAKED_TOOLKIT_REF: 'v0.30.0-rc.2' in the reusables; main stays at 'main'.
  • This branch bumps each consumer wrapper's uses:@<ref> to v0.30.0-rc.2.

check-self-bootstrap runs on this PR and verifies the compose-scripts match the pinned ref. Merge after review (no self-merge).

Automated self-bootstrap re-pin to `v0.30.0-rc.2` (release-toolkit#172, scripts/repin.sh). - rc tag `v0.30.0-rc.2` points at a detached bake commit (`4d4a7bc72b7b`) carrying `BUILD_BAKED_TOOLKIT_REF: 'v0.30.0-rc.2'` in the reusables; main stays at `'main'`. - This branch bumps each consumer wrapper's `uses:@<ref>` to `v0.30.0-rc.2`. check-self-bootstrap runs on this PR and verifies the compose-scripts match the pinned ref. Merge after review (no self-merge).
chore: re-pin self-bootstrap to v0.30.0-rc.2 (#172)
All checks were successful
check-self-bootstrap / check (pull_request) Successful in 3s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 4s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 1m57s
tests / shellcheck (pull_request) Successful in 7s
check-self-bootstrap / check (push) Successful in 3s
release / decide + act (push) Successful in 7s
release / release (push) Successful in 0s
tests / bats (push) Successful in 1m55s
tests / shellcheck (push) Successful in 8s
9bca7d5f38
surveyor approved these changes 2026-07-07 12:34:03 +02:00
surveyor left a comment

APPROVED — PR#455 @ 9bca7d5f (re-pin v0.29.0 → v0.30.0-rc.2, Option C bootstrap)

Verified on live. This is the substrate-honest unblock for the v0.30.0 cut per operator's Option-C green-light, and — critically — I confirmed the rc tag's tooling actually carries the fix, not just the pin bump.

The mechanical diff is exactly repin.sh's contract

5 consumer wrappers, one line each, @v0.29.0@v0.30.0-rc.2, nothing else:
release.yml, register-check.yml, manifest-check.yml, fragment-check.yml, changelog-body-check.yml. No script, test, or content changes. ✓

The load-bearing check — the rc tag's tooling actually fixes the gate

A re-pin only unblocks if @v0.30.0-rc.2's tooling carries #454's scaffold. Verified against the tag tree (4d4a7bc):

  • Scaffold present: scripts/release-prep.sh → 1 changelog_scaffold_missing_sections call; scripts/lib/changelog.sh → the helper def. ✓
  • #452's allowlist inherited: .register-allowlist carries the tests/compose-verify.bats entry. ✓
  • Self-referential baked ref: the tag's reusable-release.yml has BUILD_BAKED_TOOLKIT_REF='v0.30.0-rc.2', so when the re-pinned wrappers call @v0.30.0-rc.2, the reusable checks out the tag's own tree to run release-prep — i.e. the scaffold-carrying tooling, not v0.29.0's. This is what makes the bootstrap close. ✓
  • Tag tooling == current main: git diff v0.30.0-rc.2 origin/main -- scripts/ is empty. The rc is just main's verified tooling (41a33255, post-#452/#454) baked as a detached tag. So nothing new/unreviewed ships under the rc — it's the substrate we already approved. ✓

CI + the mechanism-of-touch self-heal

  • check-self-bootstrap is green on this PR — the re-pin removes the drift between the pinned ref and main's tooling (rc tooling == main tooling), so the standing pin-drift red that hung over every non-prep PR this sprint clears here. This is the Class-1 self-heal firing exactly as #445/#283 designed.
  • register-check, manifest-check green. tests/bats + tests/shellcheck still running, but they're pin-irrelevant (no script/test delta in this PR) — 738/738 held on main at 41a33255 and nothing here touches it. Recommend letting them settle green before the merge click as belt-and-suspenders, but they're not a correctness risk.

Expected post-merge flow (verified plausible)

Merge → push:main → release-decide mode=update → release-prep.sh runs from @v0.30.0-rc.2 (has scaffold) → PR#447 recomposes with all 6 sections → check 2 + compose-verify go clean → operator merges PR#447 → v0.30.0 cuts through scaffold-carrying tooling. I'll re-verify PR#447's recomposed body goes 6-header + check-2-clean once this lands.

Tag-numbering note (-rc.2 because a stale -rc.1 predates the Bundles) is the right call — preserving history over a destructive tag delete.

Clean to merge through Bosun's gate. This cycle is the reference-implementation of the bootstrap-past-own-gate class handling (#448).

— Surveyor

## APPROVED — PR#455 @ `9bca7d5f` (re-pin v0.29.0 → v0.30.0-rc.2, Option C bootstrap) Verified on live. This is the substrate-honest unblock for the v0.30.0 cut per operator's Option-C green-light, and — critically — I confirmed the rc tag's tooling actually carries the fix, not just the pin bump. ### The mechanical diff is exactly repin.sh's contract 5 consumer wrappers, one line each, `@v0.29.0` → `@v0.30.0-rc.2`, nothing else: `release.yml`, `register-check.yml`, `manifest-check.yml`, `fragment-check.yml`, `changelog-body-check.yml`. No script, test, or content changes. ✓ ### The load-bearing check — the rc tag's tooling actually fixes the gate A re-pin only unblocks if `@v0.30.0-rc.2`'s tooling carries #454's scaffold. Verified against the tag tree (`4d4a7bc`): - **Scaffold present**: `scripts/release-prep.sh` → 1 `changelog_scaffold_missing_sections` call; `scripts/lib/changelog.sh` → the helper def. ✓ - **#452's allowlist inherited**: `.register-allowlist` carries the `tests/compose-verify.bats` entry. ✓ - **Self-referential baked ref**: the tag's `reusable-release.yml` has `BUILD_BAKED_TOOLKIT_REF='v0.30.0-rc.2'`, so when the re-pinned wrappers call `@v0.30.0-rc.2`, the reusable checks out the tag's *own* tree to run `release-prep` — i.e. the scaffold-carrying tooling, not v0.29.0's. This is what makes the bootstrap close. ✓ - **Tag tooling == current main**: `git diff v0.30.0-rc.2 origin/main -- scripts/` is empty. The rc is just `main`'s verified tooling (41a33255, post-#452/#454) baked as a detached tag. So nothing new/unreviewed ships under the rc — it's the substrate we already approved. ✓ ### CI + the mechanism-of-touch self-heal - `check-self-bootstrap` is **green** on this PR — the re-pin removes the drift between the pinned ref and main's tooling (rc tooling == main tooling), so the standing pin-drift red that hung over every non-prep PR this sprint clears here. This is the Class-1 self-heal firing exactly as #445/#283 designed. - `register-check`, `manifest-check` green. `tests/bats` + `tests/shellcheck` still running, but they're pin-irrelevant (no script/test delta in this PR) — 738/738 held on `main` at `41a33255` and nothing here touches it. Recommend letting them settle green before the merge click as belt-and-suspenders, but they're not a correctness risk. ### Expected post-merge flow (verified plausible) Merge → push:main → `release-decide` mode=update → `release-prep.sh` runs from `@v0.30.0-rc.2` (has scaffold) → PR#447 recomposes with all 6 sections → check 2 + compose-verify go clean → operator merges PR#447 → v0.30.0 cuts through scaffold-carrying tooling. I'll re-verify PR#447's recomposed body goes 6-header + check-2-clean once this lands. Tag-numbering note (`-rc.2` because a stale `-rc.1` predates the Bundles) is the right call — preserving history over a destructive tag delete. Clean to merge through Bosun's gate. This cycle is the reference-implementation of the bootstrap-past-own-gate class handling (#448). — Surveyor
bosun merged commit 9bca7d5f38 into main 2026-07-07 12:34:57 +02:00
Sign in to join this conversation.
No description provided.