chore(release): v0.62.0 #1371
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1371
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "release-prep/rolling"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Changelog density — clean
Advisory mirror of the cut-time gate, computed when this description was written. It carries no authority: the cut re-runs these checks against the section as it stands then, and this branch is recreated from
mainon every compose.Added
preflight-push-whitelistgrades a split-pair deploy-key push instead of always warning (#1105).rt adopter-preflightfrom a gitea.com consumer (#1259).rt review-eligibilityreports whether the authenticated reviewer's approval counts (#1277)v1.0.0cut while ADR-0001 still reads accepted (#1292)rt cut-fragment-coverage-checkrefuses a cut that leaves a fragment on its base (#1305)rt cancelled-context-checkdistinguishes a cancelled task from a genuine refusal on a failing status context (#1309)pre-pushgrades its local-gate table against the live required-context set (#1327)rt readme-pin-checkgrades the README's version pins against the mirror (#1345).Changed
Fixed
not 2xx, not== 403(#1317)uses:line depends on where the toolkit lives (#1321)mirror-drift-check's red now reaches someone, and its two modes stay apart (#1348)..forgejo/(#1350).prepared-uncut-checktells manifest drift from an uncut release (#1356).v0.61.0afterv0.61.1was cut (#1356).rt adopter-preflightexits 2 when it could read nothing at all (#1357).timeout-minutesbound, and a gate refuses a workflow that drops one (#1375)base-divergence-checkas an advisory pull-request workflow gate (#1381)Removed
None.
Deprecated
None.
Upgrade
None.
Internal
#1253).toolkit-selfgate jobs are removed (#1253).#1253).pipefailreddens (#1306).pre-push's local-gate table drops a context retired by#1320(#1322).runPrePush's exit-status decisions are pinned (#1335).2e7ce8a49a90b593136590b593136540efdb89cf40efdb89cfd981c70af0This red is CODE-attributable.
At least one step started and failed, so the failure is inside the job. The log is worth reading.
Posted by
page-ci-attribution.sh(alcatraz-infra#729). The runner/code split is structural, not a guess: line 1 of a job log names the runner, and a step that starts emits a⭐ Runmarker. Failed with zero markers means the container never started.d981c70af0a2382cf2cfa2382cf2cfa29130bc93a29130bc930ceff779b00ceff779b04aeb4f2928APPROVE — reviewed at
4aeb4f292811d50f12f7b68a9083dd8afabd27a8, base clean (behind 0, merge-base =eb8659ce= main).Fragment integrity — 48 consumed, 48 represented, none lost
📌 I do not trust that zero on its own account, so here is the control that makes it mean something. My first pass reported 48 of 48 missing — a unanimous result, which indicts the apparatus before the world (
¶26). The extractor anchored on the first##heading, and this file's first##is## SemVer policyat line 7. It captured a real section, 642 bytes, no error, and every needle was legitimately absent from it. Re-anchored on## [v0.62.0]and controlled with a needle I knew was present. The zero above is the second reading.Version consistency
The
#1382settling read, verified independentlyThis is the artefact that half of
#1382was waiting on, and it lands correctly:✅ The descriptive/prescriptive split holds on a real cut. The status line ADVANCED to
v0.62.0because it describes the latest release; the 19 prescriptive pins STAYED atv0.61.1becausev0.62.0is not mirror-servable until the mirror publishes it. A pin naming this cut would be a lie told to a stranger for as long as the mirror takes, and there are zero of them.⚠️ Scope — the green on this PR is narrower than it looks
CI here grades ONE of the three surfaces.
.forgejo/workflows/readme-pin-check.yml:110still passes--doc README.mdonly, so the 12docs/integration.mdpins and 5examples/**pins above are correct and UNGRADED by this PR's own checks. I verified them by hand; the gate did not.📌 That is @bosun's
#1382finding —#1384widened what the verb CAN grade without widening what CI ASKS it to grade — and it is worth naming here because this is the release where the gap is first load-bearing. It does not block: the pins are right, andprepcorrectly left them alone. But nobody should read this PR's green as covering them.🔑 And I am the reason that gap reached main: my
#1384approval graded themirror-releaseinvocation and never enumerated the other call sites. When a change widens what a verb can do, the review question is the set of INVOCATIONS, not the one in the diff.Not covered
Whether the mirror actually publishes
v0.62.0with assets — that is the post-merge read, and until it happens the pins staying atv0.61.1is exactly right.4aeb4f2928bc53e1373bNew commits pushed, approval review dismissed automatically according to repository settings
APPROVE — reviewed at
bc53e1373b0207bd79256e2f8e207d282ed93913, base clean (behind 0, merge-base =67430840= main).Re-stamp. My approval at
4aeb4f29was dismissed when the release bot force-pushed this branch — expected forrelease-prep/rolling, which is reused and force-pushed on every base move, and worth naming because a release stamp has a shorter life than any other on this board.The regeneration is not only a base move, so I re-ran the checks rather than carrying the earlier read across:
Fragment integrity at the new head
The one new entry is
- **internal**: add an exact-head review submit gate and document the HOLD convention (#1383).The pins, re-verified
19 prescriptive pins, all naming the previous release, none naming this cut — correct, because
v0.62.0is not mirror-servable until the mirror publishes it.📌 The
+38lines indocs/integration.mdadded no pins (@vtokens 14 → 14). The non-semver tokens there are@v1.x,@v4and nine@vX.Y.Zplaceholders — none matchpinRE's three-component form, so the gate grades the 12 real ones and ignores the prose, which is the intended behaviour rather than a gap.Version surfaces
Scope
⚠️ CI on this PR still grades one of the three pin surfaces —
#1389fixes that and is approved but not yet on main here. I verifieddocs/integration.mdandexamples/**by hand; this PR's own green does not cover them.Not covered: whether the mirror publishes
v0.62.0with assets. That is the post-merge read, and until it happens the pins staying atv0.61.1is exactly right.bc53e1373b02391df0bcNew commits pushed, approval review dismissed automatically according to repository settings
02391df0bcf1299253f2APPROVE — reviewed at
f1299253f25ab4ca5430fbb16acf7063518f62ac, base clean (behind 0, merge-base =983510a1= main).Third stamp on this PR; the first two were dismissed by bot regenerations. Per the norm this one should survive to its merge, because nothing remains to land ahead of it.
Fragment integrity — and my needle was wrong, so the first run is worth recording
🔑
changelog.d/1386-far-page-settle.internal.mdis named for its PR and cites its TRACKER —(#1374). My check assumed those are the same number. They are not, and nothing requires them to be. The bullet is present and correct at line 75 of the section:⚠️ This check reported
0 missingon my two earlier stamps of this PR — correctly, and for the wrong reason: on those heads every filename number happened to equal its citation. A check that agrees by coincidence and a check that is right print the same zero, and the first head where they diverged is the one that exposed it.ai#744's new¶42row — the needle names a STRING, the claim means a FACT — arriving on me within the hour I approved it.Required set, graded by complement
📌 @bosun's field finding reproduced exactly, and it is worth the line:
.stateisnullon every row of this endpoint; the field is.status. A// "pending"default renders 28 absent fields as 28 pending contexts — a false red — and// "success"would have rendered them as a clean run indistinguishable from a real one.¶25one step over from booleans, and what caught it was implausible unanimity rather than any per-row check.Version surfaces and the pins
✅ 19 prescriptive pins, none naming this cut. The status line advanced because it describes the newest release; the pins did not because
v0.62.0is not mirror-servable until the mirror publishes it.#1385and#1390are both in the section.Not covered
Whether the mirror publishes
v0.62.0with assets, and whetherreadme-pin-check --fixthen advances the 19 pins on the follow-up PR. That is the post-merge read; until it happens, the pins sitting atv0.61.1is exactly right.