chore(release): v0.62.0 #1371

Merged
bosun merged 1 commit from release-prep/rolling into main 2026-09-06 22:07:24 +02:00
Member

Changelog density — clean

  • PASS — check 7 (sentence length): all sentences ≤ 25 words. Lists, tables and blockquotes are measured too (#632).
  • PASS — check 8 (paren nesting): all paragraphs ≤ depth 2
  • PASS — check 9 (paragraph length): all paragraphs ≤ 75 words. Lists, tables and blockquotes are measured too (#632).

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 main on every compose.

Added

  • gates: preflight-push-whitelist grades a split-pair deploy-key push instead of always warning (#1105).
  • adopters: a dispatch exercises rt adopter-preflight from a gitea.com consumer (#1259).
  • gates: base divergence now reports a pull-request status for merge readiness (#1275)
  • new check: rt review-eligibility reports whether the authenticated reviewer's approval counts (#1277)
  • ci: post-merge Go failures page the landing PR with both adjacent commits (#1278)
  • new gate: refuse a v1.0.0 cut while ADR-0001 still reads accepted (#1292)
  • ci: records the commit an official review named beside the object Forgejo lands after replay (#1299)
  • gates: rt cut-fragment-coverage-check refuses a cut that leaves a fragment on its base (#1305)
  • new check: rt cancelled-context-check distinguishes a cancelled task from a genuine refusal on a failing status context (#1309)
  • new check: pre-push grades its local-gate table against the live required-context set (#1327)
  • adoption: rt readme-pin-check grades the README's version pins against the mirror (#1345).
  • security: a SHA-pinned consumer's second checkout now resolves through that SHA (#336)

Changed

  • PR CI: gates build the tree a PR will land on, not the tree it was pushed as (#1195).
  • PR CI: the landing-tree replay names the base SHA it graded and what it does not cover (#1195).

Fixed

  • adoption: the README named a version the mirror cannot serve (#1068).
  • adopter-preflight-probe: the run's verdict is now readable after the fact (#1259).
  • release checks: marker counts and value grading now stay aligned over canonical baked workflows (#1267).
  • tests: the second hook-credential scan gets the same sentinels and pre-assertion (#1295).
  • base-divergence-check: the PASS line names the base SHA it graded and says the status does not re-run when the base moves (#1307).
  • gates: the push preflights no longer pass when direct push is disabled entirely (#1313).
  • integration guide: the org-scope runner check is not 2xx, not == 403 (#1317)
  • README + integration guide: the uses: line depends on where the toolkit lives (#1321)
  • ci: the shared-tree guard refused to grade an unreadable outcome instead of waving it through (#1323)
  • pre-push: the declaration list is graded against the required set, so a dead entry cannot hide a gap (#1333)
  • review-eligibility: an unreported approval-whitelist flag is could-not-grade, not disabled (#1342)
  • gates: mirror-drift-check's red now reaches someone, and its two modes stay apart (#1348).
  • docs: the Quick start names the forge axis, so a Gitea adopter is not sent to .forgejo/ (#1350).
  • gates: prepared-uncut-check tells manifest drift from an uncut release (#1356).
  • release-state: the manifest still named v0.61.0 after v0.61.1 was cut (#1356).
  • adopters: rt adopter-preflight exits 2 when it could read nothing at all (#1357).
  • build-ref-check: names a runner label that exists, so the workflow can actually run (#1361).
  • forgejo: the shared pagination walk stops only on an empty page (#1374)
  • adopter-preflight: grades runners on Gitea, where the shapes differ in two places (#1374)
  • ci: every runs-on job carries a timeout-minutes bound, and a gate refuses a workflow that drops one (#1375)
  • adoption: the README's adopter pins are set by the mirror, not by the cut (#1378).
  • docs: identify base-divergence-check as an advisory pull-request workflow gate (#1381)
  • adoption: the pin gate grades the integration guide and the examples too (#1382).
  • forgejo: a forge that repeats pages is no longer reported as a large one (#1385)
  • release decision: manifest-free prerelease bootstrap now follows the detected tag lineage (#623).

Removed

None.

Deprecated

None.

Upgrade

None.

Internal

  • ci: the consolidated gate job now attests that its nine gate steps actually ran (#1253).
  • ci: the five per-workflow toolkit-self gate jobs are removed (#1253).
  • ci: the consolidated gate job now enforces that its nine gates leave the shared tree alone (#1253).
  • Post-merge pager: pin transport and malformed-response refusals in the shell PR lookup. (#1301)
  • Forgejo reads: pin transport failures and malformed merge-SHA lookup responses as refusals instead of silent no-PR fallbacks. (#1301)
  • base-divergence-check: an arm executes the grading step's rc contract, so removing pipefail reddens (#1306).
  • base-divergence-check: the advisory-not-required decision is recorded in the verb's own doc comment (#1312).
  • internal: pre-push's local-gate table drops a context retired by #1320 (#1322).
  • pre-push: runPrePush's exit-status decisions are pinned (#1335).
  • tests: the tag-truncation control's fixture now models the hazard, so a tag assertion carries it (#1364)
  • internal: add an exact-head review submit gate and document the HOLD convention (#1383)
  • ci: the gitea wire probe settles paging without assuming a stable row order (#1374)
<!-- rt:density-verdict --> ### Changelog density — clean - **PASS** — check 7 (sentence length): all sentences ≤ 25 words. Lists, tables and blockquotes are measured too (#632). - **PASS** — check 8 (paren nesting): all paragraphs ≤ depth 2 - **PASS** — check 9 (paragraph length): all paragraphs ≤ 75 words. Lists, tables and blockquotes are measured too (#632). _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 `main` on every compose._ <!-- /rt:density-verdict --> ### Added - **gates**: `preflight-push-whitelist` grades a split-pair deploy-key push instead of always warning (#1105). - **adopters**: a dispatch exercises `rt adopter-preflight` from a gitea.com consumer (#1259). - **gates**: base divergence now reports a pull-request status for merge readiness (#1275) - **new check**: `rt review-eligibility` reports whether the authenticated reviewer's approval counts (#1277) - **ci**: post-merge Go failures page the landing PR with both adjacent commits (#1278) - **new gate**: refuse a `v1.0.0` cut while ADR-0001 still reads accepted (#1292) - **ci**: records the commit an official review named beside the object Forgejo lands after replay (#1299) - **gates**: `rt cut-fragment-coverage-check` refuses a cut that leaves a fragment on its base (#1305) - **new check**: `rt cancelled-context-check` distinguishes a cancelled task from a genuine refusal on a failing status context (#1309) - **new check**: `pre-push` grades its local-gate table against the live required-context set (#1327) - **adoption**: `rt readme-pin-check` grades the README's version pins against the mirror (#1345). - **security**: a SHA-pinned consumer's second checkout now resolves through that SHA (#336) ### Changed - **PR CI**: gates build the tree a PR will land on, not the tree it was pushed as (#1195). - **PR CI**: the landing-tree replay names the base SHA it graded and what it does not cover (#1195). ### Fixed - **adoption**: the README named a version the mirror cannot serve (#1068). - **adopter-preflight-probe**: the run's verdict is now readable after the fact (#1259). - **release checks**: marker counts and value grading now stay aligned over canonical baked workflows (#1267). - **tests**: the second hook-credential scan gets the same sentinels and pre-assertion (#1295). - **base-divergence-check**: the PASS line names the base SHA it graded and says the status does not re-run when the base moves (#1307). - **gates**: the push preflights no longer pass when direct push is disabled entirely (#1313). - **integration guide**: the org-scope runner check is `not 2xx`, not `== 403` (#1317) - **README + integration guide**: the `uses:` line depends on where the toolkit lives (#1321) - **ci**: the shared-tree guard refused to grade an unreadable outcome instead of waving it through (#1323) - **pre-push**: the declaration list is graded against the required set, so a dead entry cannot hide a gap (#1333) - **review-eligibility**: an unreported approval-whitelist flag is could-not-grade, not disabled (#1342) - **gates**: `mirror-drift-check`'s red now reaches someone, and its two modes stay apart (#1348). - **docs**: the Quick start names the forge axis, so a Gitea adopter is not sent to `.forgejo/` (#1350). - **gates**: `prepared-uncut-check` tells manifest drift from an uncut release (#1356). - **release-state**: the manifest still named `v0.61.0` after `v0.61.1` was cut (#1356). - **adopters**: `rt adopter-preflight` exits 2 when it could read nothing at all (#1357). - **build-ref-check**: names a runner label that exists, so the workflow can actually run (#1361). - **forgejo**: the shared pagination walk stops only on an empty page (#1374) - **adopter-preflight**: grades runners on Gitea, where the shapes differ in two places (#1374) - **ci**: every runs-on job carries a `timeout-minutes` bound, and a gate refuses a workflow that drops one (#1375) - **adoption**: the README's adopter pins are set by the mirror, not by the cut (#1378). - **docs**: identify `base-divergence-check` as an advisory pull-request workflow gate (#1381) - **adoption**: the pin gate grades the integration guide and the examples too (#1382). - **forgejo**: a forge that repeats pages is no longer reported as a large one (#1385) - **release decision**: manifest-free prerelease bootstrap now follows the detected tag lineage (#623). ### Removed None. ### Deprecated None. ### Upgrade None. ### Internal - **ci**: the consolidated gate job now attests that its nine gate steps actually ran (`#1253`). - **ci**: the five per-workflow `toolkit-self` gate jobs are removed (`#1253`). - **ci**: the consolidated gate job now enforces that its nine gates leave the shared tree alone (`#1253`). - **Post-merge pager**: pin transport and malformed-response refusals in the shell PR lookup. (#1301) - **Forgejo reads**: pin transport failures and malformed merge-SHA lookup responses as refusals instead of silent no-PR fallbacks. (#1301) - **base-divergence-check**: an arm executes the grading step's rc contract, so removing `pipefail` reddens (#1306). - **base-divergence-check**: the advisory-not-required decision is recorded in the verb's own doc comment (#1312). - **internal**: `pre-push`'s local-gate table drops a context retired by `#1320` (`#1322`). - **pre-push**: `runPrePush`'s exit-status decisions are pinned (#1335). - **tests**: the tag-truncation control's fixture now models the hazard, so a tag assertion carries it (#1364) - **internal**: add an exact-head review submit gate and document the HOLD convention (#1383) - **ci**: the gitea wire probe settles paging without assuming a stable row order (#1374)
chore(release): prepare v0.62.0
Some checks failed
check-self-bootstrap / check (pull_request) Has been skipped
base-divergence-check / check (pull_request) Successful in 6s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 8s
manifest-check / check (pull_request) Successful in 0s
prep-order-check / check (pull_request) Successful in 6s
tests / workflow-schema (pull_request) Successful in 5s
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 27s
gitea-twin-check / check (pull_request) Successful in 31s
tests / dated-examples (pull_request) Successful in 4s
tests / shellcheck (pull_request) Successful in 4s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 7s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 5s
readme-pin-check / check (pull_request) Failing after 37s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 55s
fragment-check / changelog fragment-kind (pull_request) Successful in 55s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 5s
changelog-body-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
workflow-parse-check / check (pull_request) Successful in 0s
ac-closure-check / ac-closure check (pull_request) Successful in 59s
ac-closure-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 33s
register-check / register-drift check (pull_request) Successful in 53s
register-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 1m13s
go-ci / page landing-tree failure (pull_request) Has been skipped
tests / bats (pull_request) Successful in 1m18s
2e7ce8a49a
Generated by release-toolkit rt prep.

Tracker: frankenbit/release-toolkit#1
release-bot force-pushed release-prep/rolling from 2e7ce8a49a
Some checks failed
check-self-bootstrap / check (pull_request) Has been skipped
base-divergence-check / check (pull_request) Successful in 6s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 8s
manifest-check / check (pull_request) Successful in 0s
prep-order-check / check (pull_request) Successful in 6s
tests / workflow-schema (pull_request) Successful in 5s
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 27s
gitea-twin-check / check (pull_request) Successful in 31s
tests / dated-examples (pull_request) Successful in 4s
tests / shellcheck (pull_request) Successful in 4s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 7s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 5s
readme-pin-check / check (pull_request) Failing after 37s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 55s
fragment-check / changelog fragment-kind (pull_request) Successful in 55s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 5s
changelog-body-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
workflow-parse-check / check (pull_request) Successful in 0s
ac-closure-check / ac-closure check (pull_request) Successful in 59s
ac-closure-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 33s
register-check / register-drift check (pull_request) Successful in 53s
register-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 1m13s
go-ci / page landing-tree failure (pull_request) Has been skipped
tests / bats (pull_request) Successful in 1m18s
to 90b5931365
Some checks failed
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
check-self-bootstrap / check (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 5s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 8s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 8s
register-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 5s
base-divergence-check / check (pull_request) Successful in 31s
gitea-twin-check / check (pull_request) Successful in 31s
readme-pin-check / check (pull_request) Failing after 35s
prep-order-check / check (pull_request) Successful in 35s
tests / bats (pull_request) Successful in 28s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 5s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 56s
ac-closure-check / ac-closure check (pull_request) Successful in 56s
fragment-check / changelog fragment-kind (pull_request) Successful in 56s
changelog-body-check / check (pull_request) Successful in 0s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 5s
workflow-parse-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 37s
tests / shellcheck (pull_request) Successful in 31s
tests / dated-examples (pull_request) Successful in 43s
go-ci / lint + build + test (pull_request) Successful in 1m18s
go-ci / page landing-tree failure (pull_request) Has been skipped
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 1m4s
2026-09-06 19:28:32 +02:00
Compare
release-bot force-pushed release-prep/rolling from 90b5931365
Some checks failed
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
check-self-bootstrap / check (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 5s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 8s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 8s
register-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 5s
base-divergence-check / check (pull_request) Successful in 31s
gitea-twin-check / check (pull_request) Successful in 31s
readme-pin-check / check (pull_request) Failing after 35s
prep-order-check / check (pull_request) Successful in 35s
tests / bats (pull_request) Successful in 28s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 5s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 56s
ac-closure-check / ac-closure check (pull_request) Successful in 56s
fragment-check / changelog fragment-kind (pull_request) Successful in 56s
changelog-body-check / check (pull_request) Successful in 0s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 5s
workflow-parse-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 37s
tests / shellcheck (pull_request) Successful in 31s
tests / dated-examples (pull_request) Successful in 43s
go-ci / lint + build + test (pull_request) Successful in 1m18s
go-ci / page landing-tree failure (pull_request) Has been skipped
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 1m4s
to 40efdb89cf
Some checks failed
check-self-bootstrap / check (pull_request) Has been skipped
gitea-twin-check / check (pull_request) Successful in 10s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 28s
base-divergence-check / check (pull_request) Successful in 38s
readme-pin-check / check (pull_request) Failing after 31s
prep-order-check / check (pull_request) Successful in 36s
ac-closure-check / ac-closure check (pull_request) Successful in 1m0s
fragment-check / changelog fragment-kind (pull_request) Successful in 58s
go-ci / lint + build + test (pull_request) Successful in 45s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 1m0s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 7s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 54s
manifest-check / check (pull_request) Successful in 0s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 6s
workflow-parse-check / check (pull_request) Successful in 0s
go-ci / page landing-tree failure (pull_request) Has been skipped
tests / workflow-schema (pull_request) Successful in 36s
tests / dated-examples (pull_request) Successful in 35s
tests / contract-paths (pull_request) Successful in 31s
register-check / register-drift check (pull_request) Successful in 1m1s
register-check / check (pull_request) Successful in 0s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 32s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 55s
tests / bats (pull_request) Successful in 1m18s
2026-09-06 19:58:52 +02:00
Compare
release-bot force-pushed release-prep/rolling from 40efdb89cf
Some checks failed
check-self-bootstrap / check (pull_request) Has been skipped
gitea-twin-check / check (pull_request) Successful in 10s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 28s
base-divergence-check / check (pull_request) Successful in 38s
readme-pin-check / check (pull_request) Failing after 31s
prep-order-check / check (pull_request) Successful in 36s
ac-closure-check / ac-closure check (pull_request) Successful in 1m0s
fragment-check / changelog fragment-kind (pull_request) Successful in 58s
go-ci / lint + build + test (pull_request) Successful in 45s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 1m0s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 7s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 54s
manifest-check / check (pull_request) Successful in 0s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 6s
workflow-parse-check / check (pull_request) Successful in 0s
go-ci / page landing-tree failure (pull_request) Has been skipped
tests / workflow-schema (pull_request) Successful in 36s
tests / dated-examples (pull_request) Successful in 35s
tests / contract-paths (pull_request) Successful in 31s
register-check / register-drift check (pull_request) Successful in 1m1s
register-check / check (pull_request) Successful in 0s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 32s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 55s
tests / bats (pull_request) Successful in 1m18s
to d981c70af0
Some checks failed
check-self-bootstrap / check (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 5s
gitea-twin-check / check (pull_request) Successful in 6s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 7s
manifest-check / check (pull_request) Successful in 0s
base-divergence-check / check (pull_request) Successful in 27s
register-check / register-drift check (pull_request) Successful in 8s
register-check / check (pull_request) Successful in 0s
prep-order-check / check (pull_request) Successful in 30s
ac-closure-check / ac-closure check (pull_request) Successful in 54s
fragment-check / changelog fragment-kind (pull_request) Successful in 52s
readme-pin-check / check (pull_request) Failing after 34s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 54s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 28s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 5s
workflow-parse-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 38s
tests / dated-examples (pull_request) Successful in 40s
tests / shellcheck (pull_request) Successful in 30s
tests / contract-paths (pull_request) Successful in 34s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 34s
go-ci / lint + build + test (pull_request) Successful in 1m24s
go-ci / page landing-tree failure (pull_request) Has been skipped
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 1m4s
2026-09-06 20:17:35 +02:00
Compare
task=48539

This red is CODE-attributable.

task 48539: code-attributable — runner caymans-fedora, 117 log lines, 2 step(s) started
  At least one step ran, so the failure is inside the job. Read the log.

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 ⭐ Run marker. Failed with zero markers means the container never started.

<!-- ci-attribution --> task=48539 **This red is CODE-attributable.** ``` task 48539: code-attributable — runner caymans-fedora, 117 log lines, 2 step(s) started At least one step ran, so the failure is inside the job. Read the log. ``` At least one step started and failed, so the failure is inside the job. The log is worth reading. <sub>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 `⭐ Run` marker. Failed with zero markers means the container never started.</sub>
release-bot force-pushed release-prep/rolling from d981c70af0
Some checks failed
check-self-bootstrap / check (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 5s
gitea-twin-check / check (pull_request) Successful in 6s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 7s
manifest-check / check (pull_request) Successful in 0s
base-divergence-check / check (pull_request) Successful in 27s
register-check / register-drift check (pull_request) Successful in 8s
register-check / check (pull_request) Successful in 0s
prep-order-check / check (pull_request) Successful in 30s
ac-closure-check / ac-closure check (pull_request) Successful in 54s
fragment-check / changelog fragment-kind (pull_request) Successful in 52s
readme-pin-check / check (pull_request) Failing after 34s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 54s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 28s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 5s
workflow-parse-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 38s
tests / dated-examples (pull_request) Successful in 40s
tests / shellcheck (pull_request) Successful in 30s
tests / contract-paths (pull_request) Successful in 34s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 34s
go-ci / lint + build + test (pull_request) Successful in 1m24s
go-ci / page landing-tree failure (pull_request) Has been skipped
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 1m4s
to a2382cf2cf
All checks were successful
ac-closure-check / ac-closure check (pull_request) Successful in 7s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 41s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 54s
2026-09-06 20:31:36 +02:00
Compare
release-bot force-pushed release-prep/rolling from a2382cf2cf
All checks were successful
ac-closure-check / ac-closure check (pull_request) Successful in 7s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 41s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 54s
to a29130bc93
All checks were successful
ac-closure-check / ac-closure check (pull_request) Successful in 8s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 43s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 55s
2026-09-06 20:50:35 +02:00
Compare
release-bot force-pushed release-prep/rolling from a29130bc93
All checks were successful
ac-closure-check / ac-closure check (pull_request) Successful in 8s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 43s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 55s
to 0ceff779b0
All checks were successful
base-divergence-check / check (pull_request) Successful in 6s
check-self-bootstrap / check (pull_request) Has been skipped
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 7s
changelog-body-check / check (pull_request) Successful in 0s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 27s
gitea-twin-check / check (pull_request) Successful in 34s
go-ci / lint + build + test (pull_request) Successful in 32s
tests / workflow-schema (pull_request) Successful in 5s
ac-closure-check / ac-closure check (pull_request) Successful in 56s
tests / dated-examples (pull_request) Successful in 4s
ac-closure-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 5s
fragment-check / changelog fragment-kind (pull_request) Successful in 55s
prep-order-check / check (pull_request) Successful in 37s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 9s
readme-pin-check / check (pull_request) Successful in 35s
go-ci / page landing-tree failure (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 1m0s
manifest-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 33s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 29s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 34s
workflow-parse-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 56s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 1m25s
2026-09-06 21:03:02 +02:00
Compare
release-bot force-pushed release-prep/rolling from 0ceff779b0
All checks were successful
base-divergence-check / check (pull_request) Successful in 6s
check-self-bootstrap / check (pull_request) Has been skipped
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 7s
changelog-body-check / check (pull_request) Successful in 0s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 27s
gitea-twin-check / check (pull_request) Successful in 34s
go-ci / lint + build + test (pull_request) Successful in 32s
tests / workflow-schema (pull_request) Successful in 5s
ac-closure-check / ac-closure check (pull_request) Successful in 56s
tests / dated-examples (pull_request) Successful in 4s
ac-closure-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 5s
fragment-check / changelog fragment-kind (pull_request) Successful in 55s
prep-order-check / check (pull_request) Successful in 37s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 9s
readme-pin-check / check (pull_request) Successful in 35s
go-ci / page landing-tree failure (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 1m0s
manifest-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 33s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 29s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 34s
workflow-parse-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 56s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 1m25s
to 4aeb4f2928
All checks were successful
check-self-bootstrap / check (pull_request) Has been skipped
gitea-twin-check / check (pull_request) Successful in 6s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 29s
base-divergence-check / check (pull_request) Successful in 35s
go-ci / lint + build + test (pull_request) Successful in 30s
ac-closure-check / ac-closure check (pull_request) Successful in 57s
fragment-check / changelog fragment-kind (pull_request) Successful in 55s
prep-order-check / check (pull_request) Successful in 39s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 57s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / check (pull_request) Successful in 0s
readme-pin-check / check (pull_request) Successful in 38s
tests / bats (pull_request) Successful in 30s
tests / workflow-schema (pull_request) Successful in 38s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 6s
workflow-parse-check / check (pull_request) Successful in 0s
go-ci / page landing-tree failure (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 1m3s
manifest-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 31s
tests / contract-paths (pull_request) Successful in 36s
register-check / register-drift check (pull_request) Successful in 1m4s
register-check / check (pull_request) Successful in 0s
tests / dated-examples (pull_request) Successful in 39s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 35s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 1m8s
2026-09-06 21:12:32 +02:00
Compare
surveyor approved these changes 2026-09-06 21:18:51 +02:00
Dismissed
surveyor left a comment

APPROVE — reviewed at 4aeb4f292811d50f12f7b68a9083dd8afabd27a8, base clean (behind 0, merge-base = eb8659ce = main).

Fragment integrity — 48 consumed, 48 represented, none lost

fragments deleted                              48
CHANGELOG bullet entries added                 48
consumed fragments whose #id is ABSENT from the v0.62.0 section   0

📌 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 policy at 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

CHANGELOG    ## [v0.62.0] - 2026-09-06
README       **Latest: v0.62.0** (2026-09-06)
[Unreleased] empty (0 non-blank lines)
changelog.d  only .keep and .template.md — dotfiles the assembler ignores by design

The #1382 settling read, verified independently

This is the artefact that half of #1382 was waiting on, and it lands correctly:

                     @v0.61.1   @v0.62.0
README.md                 2         0
docs/integration.md      12         0
examples/**               5         0

The descriptive/prescriptive split holds on a real cut. The status line ADVANCED to v0.62.0 because it describes the latest release; the 19 prescriptive pins STAYED at v0.61.1 because v0.62.0 is 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:110 still passes --doc README.md only, so the 12 docs/integration.md pins and 5 examples/** 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 #1382 finding — #1384 widened 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, and prep correctly left them alone. But nobody should read this PR's green as covering them.

🔑 And I am the reason that gap reached main: my #1384 approval graded the mirror-release invocation 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.0 with assets — that is the post-merge read, and until it happens the pins staying at v0.61.1 is exactly right.

**APPROVE** — reviewed at `4aeb4f292811d50f12f7b68a9083dd8afabd27a8`, base clean (behind 0, merge-base = `eb8659ce` = main). ## Fragment integrity — 48 consumed, 48 represented, none lost ``` fragments deleted 48 CHANGELOG bullet entries added 48 consumed fragments whose #id is ABSENT from the v0.62.0 section 0 ``` 📌 **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 policy`** at 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 ``` CHANGELOG ## [v0.62.0] - 2026-09-06 README **Latest: v0.62.0** (2026-09-06) [Unreleased] empty (0 non-blank lines) changelog.d only .keep and .template.md — dotfiles the assembler ignores by design ``` ## The `#1382` settling read, verified independently **This is the artefact that half of `#1382` was waiting on, and it lands correctly:** ``` @v0.61.1 @v0.62.0 README.md 2 0 docs/integration.md 12 0 examples/** 5 0 ``` ✅ **The descriptive/prescriptive split holds on a real cut.** The status line ADVANCED to `v0.62.0` because it describes the latest release; the 19 prescriptive pins STAYED at `v0.61.1` because `v0.62.0` is 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:110` still passes `--doc README.md` only, so **the 12 `docs/integration.md` pins and 5 `examples/**` 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 `#1382` finding — `#1384` widened 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, and `prep` correctly left them alone. **But nobody should read this PR's green as covering them.** 🔑 **And I am the reason that gap reached main: my `#1384` approval graded the `mirror-release` invocation 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.0` with assets — that is the post-merge read, and until it happens the pins staying at `v0.61.1` is exactly right.
release-bot force-pushed release-prep/rolling from 4aeb4f2928
All checks were successful
check-self-bootstrap / check (pull_request) Has been skipped
gitea-twin-check / check (pull_request) Successful in 6s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 29s
base-divergence-check / check (pull_request) Successful in 35s
go-ci / lint + build + test (pull_request) Successful in 30s
ac-closure-check / ac-closure check (pull_request) Successful in 57s
fragment-check / changelog fragment-kind (pull_request) Successful in 55s
prep-order-check / check (pull_request) Successful in 39s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 57s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / check (pull_request) Successful in 0s
readme-pin-check / check (pull_request) Successful in 38s
tests / bats (pull_request) Successful in 30s
tests / workflow-schema (pull_request) Successful in 38s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 6s
workflow-parse-check / check (pull_request) Successful in 0s
go-ci / page landing-tree failure (pull_request) Has been skipped
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 1m3s
manifest-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 31s
tests / contract-paths (pull_request) Successful in 36s
register-check / register-drift check (pull_request) Successful in 1m4s
register-check / check (pull_request) Successful in 0s
tests / dated-examples (pull_request) Successful in 39s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 35s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 1m8s
to bc53e1373b
All checks were successful
ac-closure-check / ac-closure check (pull_request) Successful in 8s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 43s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 56s
2026-09-06 21:18:59 +02:00
Compare
release-bot dismissed surveyor's review 2026-09-06 21:18:59 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

surveyor approved these changes 2026-09-06 21:29:46 +02:00
Dismissed
surveyor left a comment

APPROVE — reviewed at bc53e1373b0207bd79256e2f8e207d282ed93913, base clean (behind 0, merge-base = 67430840 = main).

Re-stamp. My approval at 4aeb4f29 was dismissed when the release bot force-pushed this branch — expected for release-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:

new since 4aeb4f29:  cmd/rt/review_submit_check.go + tests, docs/integration.md +38,
                     cli-surface.md, help.txt, main.go  (#1383 landed on main)
CHANGELOG            48 -> 49 bullets

Fragment integrity at the new head

fragments consumed                              49
CHANGELOG bullets                               49
consumed fragments whose #id is absent          0
positive control ('#1327' findable in section)  1

The one new entry is - **internal**: add an exact-head review submit gate and document the HOLD convention (#1383).

The pins, re-verified

                     @v0.61.1   @v0.62.0
README.md                 2         0
docs/integration.md      12         0
examples/**               5         0

19 prescriptive pins, all naming the previous release, none naming this cut — correct, because v0.62.0 is not mirror-servable until the mirror publishes it.

📌 The +38 lines in docs/integration.md added no pins (@v tokens 14 → 14). The non-semver tokens there are @v1.x, @v4 and nine @vX.Y.Z placeholders — none match pinRE'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

CHANGELOG    ## [v0.62.0] - 2026-09-06
README       **Latest: v0.62.0** (2026-09-06)
[Unreleased] 0 non-blank lines

Scope

⚠️ CI on this PR still grades one of the three pin surfaces#1389 fixes that and is approved but not yet on main here. I verified docs/integration.md and examples/** by hand; this PR's own green does not cover them.

Not covered: whether the mirror publishes v0.62.0 with assets. That is the post-merge read, and until it happens the pins staying at v0.61.1 is exactly right.

**APPROVE** — reviewed at `bc53e1373b0207bd79256e2f8e207d282ed93913`, base clean (behind 0, merge-base = `67430840` = main). **Re-stamp.** My approval at `4aeb4f29` was dismissed when the release bot force-pushed this branch — expected for `release-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: ``` new since 4aeb4f29: cmd/rt/review_submit_check.go + tests, docs/integration.md +38, cli-surface.md, help.txt, main.go (#1383 landed on main) CHANGELOG 48 -> 49 bullets ``` ## Fragment integrity at the new head ``` fragments consumed 49 CHANGELOG bullets 49 consumed fragments whose #id is absent 0 positive control ('#1327' findable in section) 1 ``` The one new entry is `- **internal**: add an exact-head review submit gate and document the HOLD convention (#1383)`. ## The pins, re-verified ``` @v0.61.1 @v0.62.0 README.md 2 0 docs/integration.md 12 0 examples/** 5 0 ``` **19 prescriptive pins, all naming the previous release, none naming this cut** — correct, because `v0.62.0` is not mirror-servable until the mirror publishes it. 📌 **The `+38` lines in `docs/integration.md` added no pins** (`@v` tokens 14 → 14). The non-semver tokens there are `@v1.x`, `@v4` and nine `@vX.Y.Z` placeholders — **none match `pinRE`'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 ``` CHANGELOG ## [v0.62.0] - 2026-09-06 README **Latest: v0.62.0** (2026-09-06) [Unreleased] 0 non-blank lines ``` ## Scope ⚠️ **CI on this PR still grades one of the three pin surfaces** — `#1389` fixes that and is approved but not yet on main here. **I verified `docs/integration.md` and `examples/**` by hand; this PR's own green does not cover them.** **Not covered:** whether the mirror publishes `v0.62.0` with assets. That is the post-merge read, and until it happens the pins staying at `v0.61.1` is exactly right.
release-bot force-pushed release-prep/rolling from bc53e1373b
All checks were successful
ac-closure-check / ac-closure check (pull_request) Successful in 8s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 43s
fragment-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 56s
to 02391df0bc
All checks were successful
base-divergence-check / check (pull_request) Successful in 6s
check-self-bootstrap / check (pull_request) Has been skipped
fragment-check / changelog fragment-kind (pull_request) Successful in 8s
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 19s
fragment-check / check (pull_request) Successful in 0s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
gitea-twin-check / check (pull_request) Successful in 6s
readme-pin-check / check (pull_request) Successful in 8s
register-check / register-drift check (pull_request) Successful in 8s
register-check / check (pull_request) Successful in 0s
ac-closure-check / ac-closure check (pull_request) Successful in 41s
ac-closure-check / check (pull_request) Successful in 0s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 42s
tests / workflow-schema (pull_request) Successful in 5s
changelog-body-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 4s
prep-order-check / check (pull_request) Successful in 31s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 8s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 51s
manifest-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 28s
tests / dated-examples (pull_request) Successful in 32s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 27s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 30s
workflow-parse-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 1m9s
go-ci / page landing-tree failure (pull_request) Has been skipped
tests / bats (pull_request) Successful in 1m23s
2026-09-06 21:44:33 +02:00
Compare
release-bot dismissed surveyor's review 2026-09-06 21:44:33 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

release-bot force-pushed release-prep/rolling from 02391df0bc
All checks were successful
base-divergence-check / check (pull_request) Successful in 6s
check-self-bootstrap / check (pull_request) Has been skipped
fragment-check / changelog fragment-kind (pull_request) Successful in 8s
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 19s
fragment-check / check (pull_request) Successful in 0s
go-ci / record reviewed vs landed commit (pull_request) Has been skipped
gitea-twin-check / check (pull_request) Successful in 6s
readme-pin-check / check (pull_request) Successful in 8s
register-check / register-drift check (pull_request) Successful in 8s
register-check / check (pull_request) Successful in 0s
ac-closure-check / ac-closure check (pull_request) Successful in 41s
ac-closure-check / check (pull_request) Successful in 0s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 42s
tests / workflow-schema (pull_request) Successful in 5s
changelog-body-check / check (pull_request) Successful in 0s
tests / shellcheck (pull_request) Successful in 4s
prep-order-check / check (pull_request) Successful in 31s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 8s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 51s
manifest-check / check (pull_request) Successful in 0s
tests / contract-paths (pull_request) Successful in 28s
tests / dated-examples (pull_request) Successful in 32s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 27s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 30s
workflow-parse-check / check (pull_request) Successful in 0s
go-ci / lint + build + test (pull_request) Successful in 1m9s
go-ci / page landing-tree failure (pull_request) Has been skipped
tests / bats (pull_request) Successful in 1m23s
to f1299253f2
Some checks failed
go-ci / page landing-tree failure (pull_request) Has been skipped
workflow-parse-check / workflow parse and schema (pull_request) Successful in 29s
workflow-parse-check / check (pull_request) Successful in 0s
toolkit-self-gates / toolkit-self gates (PR's own rt) (pull_request) Successful in 53s
tests / workflow-schema (push) Successful in 4s
prepared-uncut-check / toolkit-self prepared-uncut controls (push) Successful in 22s
gitea-twin-check / check (push) Successful in 23s
check-self-bootstrap / check (push) Successful in 23s
tests / dated-examples (push) Successful in 27s
tests / bats (push) Successful in 31s
tests / shellcheck (push) Successful in 20s
prepared-uncut-check / prepared-but-uncut release (push) Successful in 45s
prepared-uncut-check / check (push) Successful in 0s
tests / contract-paths (push) Successful in 25s
release / decide + act (push) Successful in 59s
release / release (push) Successful in 0s
go-ci / lint + build + test (push) Successful in 1m5s
go-ci / page landing-tree failure (push) Has been skipped
release / fire-cut (push) Successful in 6s
go-ci / record reviewed vs landed commit (push) Has been cancelled
release-toolkit/manifest-postcondition manifest-postcondition verdict=landed
mirror-drift-check / drift no unmirrored asset-bearing release
mirror-drift-check / could-not-grade no unmirrored asset-bearing release
build-ref-check / check (push) Successful in 28s
mirror drift check / check (release) Successful in 31s
goreleaser / build + publish rt asset (push) Successful in 1m2s
goreleaser / the release actually holds its assets (push) Successful in 12s
goreleaser / publish the rt image + bake its digest (push) Successful in 25s
goreleaser / adopters can pull the published image (push) Successful in 5s
goreleaser / adopters can fetch the published asset (push) Successful in 25s
2026-09-06 22:03:14 +02:00
Compare
surveyor approved these changes 2026-09-06 22:06:11 +02:00
surveyor left a comment

APPROVE — 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

first run,  keyed on the FILENAME's number   51 consumed, 1 MISSING
second run, keyed on what each fragment CITES 51 consumed, 0 missing  ✅

🔑 changelog.d/1386-far-page-settle.internal.md is 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:

- **ci**: the gitea wire probe settles paging without assuming a stable row order (#1374)

⚠️ This check reported 0 missing on 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 ¶42 row — the needle names a STRING, the claim means a FACT — arriving on me within the hour I approved it.

Required set, graded by complement

statuses paginated to an EMPTY page   99 rows over 2 pages
newest-per-context by .id             28 success, 0 other
enable_status_check                   true
required contexts                     23
REQUIRED NOT GREEN                    0
fabricated-context control            reports MISSING ✅

📌 @bosun's field finding reproduced exactly, and it is worth the line: .state is null on 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. ¶25 one step over from booleans, and what caught it was implausible unanimity rather than any per-row check.

Version surfaces and the pins

CHANGELOG    ## [v0.62.0] - 2026-09-06
README       **Latest: v0.62.0** (2026-09-06)
[Unreleased] 0 non-blank lines

                     @v0.61.1   @v0.62.0
README.md                 2         0
docs/integration.md      12         0
examples/**               5         0

19 prescriptive pins, none naming this cut. The status line advanced because it describes the newest release; the pins did not because v0.62.0 is not mirror-servable until the mirror publishes it. #1385 and #1390 are both in the section.

Not covered

Whether the mirror publishes v0.62.0 with assets, and whether readme-pin-check --fix then advances the 19 pins on the follow-up PR. That is the post-merge read; until it happens, the pins sitting at v0.61.1 is exactly right.

**APPROVE** — 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 ``` first run, keyed on the FILENAME's number 51 consumed, 1 MISSING second run, keyed on what each fragment CITES 51 consumed, 0 missing ✅ ``` 🔑 **`changelog.d/1386-far-page-settle.internal.md` is 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: ``` - **ci**: the gitea wire probe settles paging without assuming a stable row order (#1374) ``` ⚠️ **This check reported `0 missing` on 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 `¶42` row — the needle names a STRING, the claim means a FACT — arriving on me within the hour I approved it.** ## Required set, graded by complement ``` statuses paginated to an EMPTY page 99 rows over 2 pages newest-per-context by .id 28 success, 0 other enable_status_check true required contexts 23 REQUIRED NOT GREEN 0 fabricated-context control reports MISSING ✅ ``` 📌 **@bosun's field finding reproduced exactly, and it is worth the line: `.state` is `null` on 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.** *`¶25` one step over from booleans, and what caught it was implausible unanimity rather than any per-row check.* ## Version surfaces and the pins ``` CHANGELOG ## [v0.62.0] - 2026-09-06 README **Latest: v0.62.0** (2026-09-06) [Unreleased] 0 non-blank lines @v0.61.1 @v0.62.0 README.md 2 0 docs/integration.md 12 0 examples/** 5 0 ``` ✅ **19 prescriptive pins, none naming this cut.** The status line advanced because it *describes* the newest release; the pins did not because `v0.62.0` is not mirror-servable until the mirror publishes it. **`#1385` and `#1390` are both in the section.** ## Not covered Whether the mirror publishes `v0.62.0` with assets, and whether `readme-pin-check --fix` then advances the 19 pins on the follow-up PR. **That is the post-merge read; until it happens, the pins sitting at `v0.61.1` is exactly right.**
bosun merged commit f1299253f2 into main 2026-09-06 22:07:24 +02:00
Sign in to join this conversation.
No description provided.