docs: consume stranded 0.6.2 changelog entry #264

Merged
andres merged 1 commit from build/263-consume-stranded-changelog into main 2026-08-25 18:28:48 +00:00

Refs #263

This PR uses the one-time sanctioned exception from #263 to edit CHANGELOG.md; it reproduces the assembler's canonical output and does not change BUILDER.md doctrine.

The published 0.6.2 release body and tag are deliberately left untouched.

Acceptance criteria

  • The 0.6.2 section is byte-identical to the assembler's seven-fragment output.
  • changelog.d/238.md is absent at the head.
  • changelog.d/263.md contains exactly the prescribed grouped ### Changed entry.
  • The branch changes exactly CHANGELOG.md, changelog.d/238.md, and changelog.d/263.md, with no other changelog section changed.
  • The published release body remains as published and tag 0.6.2 still resolves to 5a8fce83757dc283dff8eec8f1009577b4dfccf3.
  • All five self-guards, the full test suite, and git diff --check are green at the PR head.
  • This body names the sanctioned BUILDER.md exception and uses Refs #263.
  • Post-merge verification remains owned by triage.

Worklog

  • Claim #263 and post the design plan of record.
  • Establish the canonical byte-comparison RED on unmodified main.
  • Apply the exact three-path edit and push the first checkpoint.
  • Prove the canonical byte comparison is empty at f221647.
  • Run and record all five self-guards.
  • Run and record the full suite, sanctioned shellcheck sweep, and git diff --check.
  • Verify and record the unchanged published release body and tag.
  • Complete the final diff/body audit and prepare the signal-then-ready handoff.

Verification

  • Baseline before the edit: bash test/run.sh — 31 test files passed, 0 failed.
  • Canonical RED: the unmodified section lacked #238's first ### Fixed bullet.
  • Canonical GREEN at f221647: diff produced no output.
  • Five self-guards: green (changelog-armed, changelog-monotonic, changelog-assembled, drill-recorded, runner-isolated).
  • bash test/run.sh: 31 test files passed, 0 failed at the PR head.
  • bash .github/scripts/shellcheck-all.sh: 64 tracked scripts linted, green.
  • git diff --check: clean.
  • Exact path audit: only CHANGELOG.md, changelog.d/238.md, and changelog.d/263.md; no other changelog section differs.
  • Published release audit: created/published 2026-08-24T16:10:40Z, body SHA-256 1ff9e12d053ed7d909a7bd73048e6e9b6516a03122d63018028f75589b493cd2, no #238 entry.
  • Tag audit: 0.6.2^{} resolves to 5a8fce83757dc283dff8eec8f1009577b4dfccf3.

Round log

Round at f221647f

Round passed with no written reply.

Refs #263 This PR uses the one-time sanctioned exception from #263 to edit `CHANGELOG.md`; it reproduces the assembler's canonical output and does not change BUILDER.md doctrine. The published 0.6.2 release body and tag are deliberately left untouched. ## Acceptance criteria - [x] The `0.6.2` section is byte-identical to the assembler's seven-fragment output. - [x] `changelog.d/238.md` is absent at the head. - [x] `changelog.d/263.md` contains exactly the prescribed grouped `### Changed` entry. - [x] The branch changes exactly `CHANGELOG.md`, `changelog.d/238.md`, and `changelog.d/263.md`, with no other changelog section changed. - [x] The published release body remains as published and tag `0.6.2` still resolves to `5a8fce83757dc283dff8eec8f1009577b4dfccf3`. - [x] All five self-guards, the full test suite, and `git diff --check` are green at the PR head. - [x] This body names the sanctioned BUILDER.md exception and uses `Refs #263`. - [ ] Post-merge verification remains owned by triage. ## Worklog - [x] Claim #263 and post the design plan of record. - [x] Establish the canonical byte-comparison RED on unmodified `main`. - [x] Apply the exact three-path edit and push the first checkpoint. - [x] Prove the canonical byte comparison is empty at `f221647`. - [x] Run and record all five self-guards. - [x] Run and record the full suite, sanctioned shellcheck sweep, and `git diff --check`. - [x] Verify and record the unchanged published release body and tag. - [x] Complete the final diff/body audit and prepare the signal-then-ready handoff. ## Verification - Baseline before the edit: `bash test/run.sh` — 31 test files passed, 0 failed. - Canonical RED: the unmodified section lacked #238's first `### Fixed` bullet. - Canonical GREEN at `f221647`: `diff` produced no output. - Five self-guards: green (`changelog-armed`, `changelog-monotonic`, `changelog-assembled`, `drill-recorded`, `runner-isolated`). - `bash test/run.sh`: 31 test files passed, 0 failed at the PR head. - `bash .github/scripts/shellcheck-all.sh`: 64 tracked scripts linted, green. - `git diff --check`: clean. - Exact path audit: only `CHANGELOG.md`, `changelog.d/238.md`, and `changelog.d/263.md`; no other changelog section differs. - Published release audit: created/published `2026-08-24T16:10:40Z`, body SHA-256 `1ff9e12d053ed7d909a7bd73048e6e9b6516a03122d63018028f75589b493cd2`, no #238 entry. - Tag audit: `0.6.2^{}` resolves to `5a8fce83757dc283dff8eec8f1009577b4dfccf3`. ## Round log <!-- round:f221647fe372a76c38f46dcd21c962e5ee80a8b0 --> **Round at f221647f** _Round passed with no written reply._
codex-bot-andresmgsl added 1 commit 2026-08-25 17:10:32 +00:00
docs: consume stranded 0.6.2 changelog entry
All checks were successful
CI / test (pull_request) Successful in 3m49s
CI / release-exercise (pull_request) Successful in 25s
CI / self-guards (pull_request) Successful in 21s
CI / action-exercise (pull_request) Successful in 20s
CI / docs-sync-exercise (pull_request) Successful in 20s
labels / labels (pull_request) Successful in 22s
Refs guard / refs-not-closing (pull_request) Successful in 20s
f221647fe3
codex-bot-andresmgsl changed title from docs: consume stranded 0.6.2 changelog entry to WIP: docs: consume stranded 0.6.2 changelog entry 2026-08-25 17:10:44 +00:00
Author
Member

📣 round answered at head f221647fe3

📣 round answered at head f221647fe372a76c38f46dcd21c962e5ee80a8b0
codex-bot-andresmgsl changed title from WIP: docs: consume stranded 0.6.2 changelog entry to docs: consume stranded 0.6.2 changelog entry 2026-08-25 17:18:14 +00:00
forgejo-actions added the
state:addressing
label 2026-08-25 17:20:48 +00:00
forgejo-actions added the
scope:release-flow
label 2026-08-25 17:47:18 +00:00
codex-bot-andresmgsl requested review from glm-bot-andresmgsl 2026-08-25 18:05:54 +00:00
codex-bot-andresmgsl requested review from claude-bot-andresmgsl 2026-08-25 18:05:55 +00:00
codex-bot-andresmgsl requested review from kimi-bot-andresmgsl 2026-08-25 18:05:55 +00:00
codex-bot-andresmgsl added the
state:bots-reviewing
label 2026-08-25 18:05:56 +00:00

🔎 reviewing head f221647fe3

  • Canonical byte comparison: RED on unmodified main (32a33), GREEN at f221647 (diff empty).
  • Six- vs seven-fragment assembly differ by exactly one line, and it is the first ### Fixed bullet.
  • Failure cases actually fail: appended-last and reworded mutants both caught by diff; a grep '#238' would have passed the first.
  • Exactly three paths changed; single hunk @@ -58,0 +59 @@ inside the 0.6.2 section; no other section differs; VERSION untouched.
  • changelog.d/238.md absent; changelog.d/263.md = one ### Changed heading + spec item 5's entry verbatim; 0.6.3 dry-assembly clean.
  • Five self-guards green (rc=0); shellcheck sweep 64 scripts green; git diff --check clean.
  • Publication untouched: body SHA-256 1ff9e12d…, tag 0.6.2^{} = 5a8fce8.
  • Body shape: Refs #263, no closing keyword adjacent to any #N; BUILDER.md exception named.
  • Suite: 28/3 locally — all 3 fail on missing yq and fail identically at origin/main; relied on CI CI / test green at head.
  • Post-merge verification — triage's, correctly unticked.

Verdict composed; submitting approve.

🔎 reviewing head f221647fe372a76c38f46dcd21c962e5ee80a8b0 - [x] Canonical byte comparison: RED on unmodified `main` (`32a33`), GREEN at `f221647` (`diff` empty). - [x] Six- vs seven-fragment assembly differ by exactly one line, and it is the **first** `### Fixed` bullet. - [x] Failure cases actually fail: appended-last and reworded mutants both caught by `diff`; a `grep '#238'` would have passed the first. - [x] Exactly three paths changed; single hunk `@@ -58,0 +59 @@` inside the `0.6.2` section; no other section differs; `VERSION` untouched. - [x] `changelog.d/238.md` absent; `changelog.d/263.md` = one `### Changed` heading + spec item 5's entry verbatim; `0.6.3` dry-assembly clean. - [x] Five self-guards green (`rc=0`); shellcheck sweep 64 scripts green; `git diff --check` clean. - [x] Publication untouched: body SHA-256 `1ff9e12d…`, tag `0.6.2^{}` = `5a8fce8`. - [x] Body shape: `Refs #263`, no closing keyword adjacent to any `#N`; BUILDER.md exception named. - [x] Suite: 28/3 locally — all 3 fail on missing `yq` and fail identically at `origin/main`; relied on CI `CI / test` green at head. - [ ] Post-merge verification — triage's, correctly unticked. Verdict composed; submitting approve.

🔎 reviewing head f221647fe3

  • diff audit: exactly 3 paths (CHANGELOG.md, changelog.d/238.md deleted, changelog.d/263.md added); single CHANGELOG hunk inside 0.6.2 ### Fixed
  • criterion 1 VERIFIED: section extracted per test plan diffs empty against the 7-fragment canonical assembly (ran bin/changelog-assemble 0.6.2 2026-08-24 --check in a 7bdae45 canon worktree)
  • criterion 2 VERIFIED: changelog.d/238.md absent at head
  • criterion 3 VERIFIED: 263.md has exactly one ### Changed heading; entry byte-identical to spec item 5 (224 chars, ends (#238, #231).); no other fragment touched
  • criterion 4 VERIFIED: three paths only; no CHANGELOG section other than 0.6.2 differs (single hunk)
  • criterion 5 VERIFIED: tag 0.6.2^{} -> 5a8fce83757dc283dff8eec8f1009577b4dfccf3; release body SHA-256 1ff9e12d...493cd2, published 2026-08-24T16:10:40Z, no #238 entry
  • criterion 6 VERIFIED: all five guards green as CI runs them; test/run.sh 31 files green; shellcheck 64 scripts green; git diff --check clean — all run by me at the head
  • criterion 7 VERIFIED: exception sentence present; Refs #263; no closing keyword adjacent to #N anywhere in body
  • criterion 8: post-merge, triage owns it (Refs shape per issue instruction)
  • composing verdict
🔎 reviewing head f221647fe372a76c38f46dcd21c962e5ee80a8b0 - diff audit: exactly 3 paths (CHANGELOG.md, changelog.d/238.md deleted, changelog.d/263.md added); single CHANGELOG hunk inside 0.6.2 ### Fixed - criterion 1 VERIFIED: section extracted per test plan diffs empty against the 7-fragment canonical assembly (ran bin/changelog-assemble 0.6.2 2026-08-24 --check in a 7bdae45 canon worktree) - criterion 2 VERIFIED: changelog.d/238.md absent at head - criterion 3 VERIFIED: 263.md has exactly one ### Changed heading; entry byte-identical to spec item 5 (224 chars, ends (#238, #231).); no other fragment touched - criterion 4 VERIFIED: three paths only; no CHANGELOG section other than 0.6.2 differs (single hunk) - criterion 5 VERIFIED: tag 0.6.2^{} -> 5a8fce83757dc283dff8eec8f1009577b4dfccf3; release body SHA-256 1ff9e12d...493cd2, published 2026-08-24T16:10:40Z, no #238 entry - criterion 6 VERIFIED: all five guards green as CI runs them; test/run.sh 31 files green; shellcheck 64 scripts green; git diff --check clean — all run by me at the head - criterion 7 VERIFIED: exception sentence present; Refs #263; no closing keyword adjacent to #N anywhere in body - criterion 8: post-merge, triage owns it (Refs shape per issue instruction) - composing verdict

🔎 reviewing head f221647fe3

Verified: 0.6.2 section byte-identical to canonical seven-fragment assembly; 238.md deleted; 263.md matches spec; only three paths changed; tag 0.6.2 still at 5a8fce8; self-guards and git diff --check green. test/run.sh has only env failures (node/npm missing). Approving.

🔎 reviewing head f221647fe372a76c38f46dcd21c962e5ee80a8b0 Verified: 0.6.2 section byte-identical to canonical seven-fragment assembly; 238.md deleted; 263.md matches spec; only three paths changed; tag 0.6.2 still at 5a8fce8; self-guards and git diff --check green. test/run.sh has only env failures (node/npm missing). Approving.
glm-bot-andresmgsl approved these changes 2026-08-25 18:16:37 +00:00
glm-bot-andresmgsl left a comment
Member

Approve at f221647fe3. Every acceptance criterion of #263 verified by running the issue's own machinery at the head, not by inspection alone.

  • Criterion 1 (byte-identical 0.6.2 section): verified. Ran the test plan verbatim — canon worktree at 7bdae45, changelog.d/238.md restored from aa167fd, bin/changelog-assemble 0.6.2 2026-08-24 --check — then extracted the head's section with the issue's exact awk/sed pipeline: diff is empty. The insert sits as the first bullet of the section's ### Fixed, above #236, exactly where triage measured it.
  • Criteria 2–4 (fragment set, paths): verified. changelog.d/238.md absent at the head; changelog.d/263.md carries exactly one ### Changed heading and an entry byte-identical to spec item 5 (224 chars, citation group (#238, #231).); git diff --name-only origin/main...HEAD lists exactly the three prescribed paths, and the only CHANGELOG.md hunk is inside the 0.6.2 section. Grouped shape matches changelog.d/shape.
  • Criterion 5 (publication untouched): verified live. 0.6.2^{} still resolves to 5a8fce83757dc283dff8eec8f1009577b4dfccf3; releases/tags/0.6.2 returns the body published at 2026-08-24T16:10:40Z, SHA-256 1ff9e12d…493cd2, with no #238 entry — the tree/publication divergence is the ruled option B, deliberate and recorded in the new fragment.
  • Criterion 6 (guards, suite, whitespace): verified. All five self-guards green run as CI runs them (changelog-armed, changelog-monotonic over base origin/main, changelog-assembled strict, drill-recorded, runner-isolated); bash test/run.sh — 31 test files, 0 failed; bash .github/scripts/shellcheck-all.sh — 64 scripts, clean; git diff --check clean.
  • Criterion 7 (exception named, Refs): verified. The body names the one-time sanctioned exception to BUILDER.md's "Never edit CHANGELOG.md" in one sentence, and references #263 with Refs — no closing keyword adjacent to the number anywhere in the body. The criterion-8 remainder is correctly post-merge, owned by triage.

Constraint note: the CHANGELOG edit is authorized by issue #263 (ruling B on #231); both reasons the BUILDER.md rule exists are intact — nothing typed (the section equals the assembler's own output, proven above) and no shipped heading deleted (monotonic green, all 9 headings). No workflows, guards, tests, or doctrine files move in this diff, so the third-party-action and scripting conventions are not implicated.

What I could not verify, and what I relied on instead: the forge runner's own CI execution of these steps (I ran the same scripts the workflows run, locally at the head, which covers their content but not the runner environment), and the historical account of the #231 ruling timeline (relied on the triage-minted issue body as the spec of record — re-litigating it is out of a review round's scope).

Approve at f221647fe372a76c38f46dcd21c962e5ee80a8b0. Every acceptance criterion of #263 verified by running the issue's own machinery at the head, not by inspection alone. - **Criterion 1 (byte-identical 0.6.2 section): verified.** Ran the test plan verbatim — canon worktree at `7bdae45`, `changelog.d/238.md` restored from `aa167fd`, `bin/changelog-assemble 0.6.2 2026-08-24 --check` — then extracted the head's section with the issue's exact awk/sed pipeline: `diff` is empty. The insert sits as the first bullet of the section's `### Fixed`, above #236, exactly where triage measured it. - **Criteria 2–4 (fragment set, paths): verified.** `changelog.d/238.md` absent at the head; `changelog.d/263.md` carries exactly one `### Changed` heading and an entry byte-identical to spec item 5 (224 chars, citation group `(#238, #231).`); `git diff --name-only origin/main...HEAD` lists exactly the three prescribed paths, and the only CHANGELOG.md hunk is inside the 0.6.2 section. Grouped shape matches `changelog.d/shape`. - **Criterion 5 (publication untouched): verified live.** `0.6.2^{}` still resolves to `5a8fce83757dc283dff8eec8f1009577b4dfccf3`; `releases/tags/0.6.2` returns the body published at 2026-08-24T16:10:40Z, SHA-256 `1ff9e12d…493cd2`, with no #238 entry — the tree/publication divergence is the ruled option B, deliberate and recorded in the new fragment. - **Criterion 6 (guards, suite, whitespace): verified.** All five self-guards green run as CI runs them (`changelog-armed`, `changelog-monotonic` over base `origin/main`, `changelog-assembled` strict, `drill-recorded`, `runner-isolated`); `bash test/run.sh` — 31 test files, 0 failed; `bash .github/scripts/shellcheck-all.sh` — 64 scripts, clean; `git diff --check` clean. - **Criterion 7 (exception named, `Refs`): verified.** The body names the one-time sanctioned exception to BUILDER.md's "Never edit CHANGELOG.md" in one sentence, and references #263 with `Refs` — no closing keyword adjacent to the number anywhere in the body. The criterion-8 remainder is correctly post-merge, owned by triage. Constraint note: the CHANGELOG edit is authorized by issue #263 (ruling B on #231); both reasons the BUILDER.md rule exists are intact — nothing typed (the section equals the assembler's own output, proven above) and no shipped heading deleted (monotonic green, all 9 headings). No workflows, guards, tests, or doctrine files move in this diff, so the third-party-action and scripting conventions are not implicated. What I could not verify, and what I relied on instead: the forge runner's own CI execution of these steps (I ran the same scripts the workflows run, locally at the head, which covers their content but not the runner environment), and the historical account of the #231 ruling timeline (relied on the triage-minted issue body as the spec of record — re-litigating it is out of a review round's scope).
claude-bot-andresmgsl approved these changes 2026-08-25 18:17:27 +00:00
claude-bot-andresmgsl left a comment
Member

Approve at f221647fe372a76c38f46dcd21c962e5ee80a8b0.

The edit is exactly the three paths #263 specifies, and the section is the assembler's own bytes rather than typed prose — I reproduced that rather than taking the PR's word for it.

What I ran

The canonical byte comparison, RED then GREEN. Rebuilt the seven-fragment reference from the artifacts (7bdae45 worktree + aa167fd:changelog.d/238.md, bin/changelog-assemble 0.6.2 2026-08-24 --check):

  • Against the section on unmodified main: 32a33 — the #238 bullet missing. The check has something to catch.
  • Against the section at f221647: diff empty. Byte-identical.
  • Six-fragment vs seven-fragment output differ by exactly one line, and it is the first bullet of ### Fixed — spec item 1's placement, measured, not assumed.

The failure cases actually fail. I built the two mutants the test plan names and ran the same comparison:

  • Same line appended last in ### Fixed instead of first → diff reports 32a33 / 35d35. A grep -c '(#238)' on that mutant returns 1 — it would have passed. This is why the criterion is a byte comparison.
  • The line reworded (each forgeevery forge) → diff reports it.

Placement and blast radius. git diff -U0 is a single hunk, @@ -58,0 +59 @@ — inside the 0.6.2 section (heading line 25, next heading ## 0.6.1 at line 63). No other section differs. git diff --name-only origin/main...HEAD is exactly CHANGELOG.md, changelog.d/238.md, changelog.d/263.md. VERSION still 0.6.3-dev; no guard, test, workflow or doctrine file touched.

The fragments. changelog.d/238.md absent at the head. changelog.d/263.md is one ### Changed heading plus spec item 5's entry verbatim, <issue>.md-named per changelog.d/README.md, and consistent with shape = grouped. I dry-assembled the live 0.6.3 set at the head (changelog-assemble 0.6.3 ... --check, worktree clean afterwards): the new entry lands under ### Changed and #238's entry no longer appears in 0.6.3 — which is the defect this closes.

Guards, sweep, whitespace. All five green at the head with rc=0: changelog-armed (fragment mode, 0.6.3-dev), changelog-monotonic (all 9 headings still present vs origin/main), changelog-assembled (NOTICE: development tree — see caveat below), drill-recorded, runner-isolated. bash .github/scripts/shellcheck-all.sh → 64 tracked scripts, rc=0. git diff --check clean.

The publication is untouched. GET releases/tags/0.6.2: published_at 2026-08-24T16:10:40Z, body SHA-256 1ff9e12d053ed7d909a7bd73048e6e9b6516a03122d63018028f75589b493cd2 — matching the PR's recorded hash — and no 238 anywhere in it. git rev-parse '0.6.2^{}'5a8fce83757dc283dff8eec8f1009577b4dfccf3. The tree and the publication now diverge by that one line, deliberately, as ruling B chose.

Body shape. Refs #263, and a scan for (close|fix|resolve)[sd]?\s*#N over the whole body finds nothing — the only two references are #238 and #263, neither preceded by a closing keyword in prose or in a code span. Refs guard / refs-not-closing is success at the head. The BUILDER.md exception is named in the second line of the body, where a reviewer applying the standing Never edit CHANGELOG.md rule will meet it; no doctrine file is widened.

What I could not verify, and what I relied on instead

bash test/run.sh is 28 passed / 3 failed on my box, not 31/0 as the PR records — and that is my environment, not this PR. The three files are labels-bootstrap, labels-dispatch, labels-triggers, and all 25 individual failures trace to yq: command not found. I baselined the same three files on origin/main (aa167fd) in a separate detached worktree and got identical counts — 7/7, 7/14, 28/4. They are pre-existing and tool-gated; this PR touches no workflow YAML, so it cannot reach them. For the whole-suite claim I relied on CI: every context on f221647 is success, including CI / test (2026-08-25T17:46:38Z) and CI / self-guards. The remaining 28 files pass locally, 1,585 assertions.

changelog-assembled proves nothing about the section here, by design — it NOTICEs a development tree and compares nothing, so its green is not evidence for criterion 1. The byte comparison above is what carries that criterion; I ran it rather than leaning on the guard.

The post-merge criterion is correctly left unticked — triage owns that verification and the close, which is why the body says Refs #263.

Non-blocking

  • #263 sizes the new entry at 224 characters; it is 226. Well inside the 300 bound — a triage miscount, not a defect in the fragment, and nothing to change.
  • The PR currently carries both state:addressing and state:bots-reviewing, where LABELS.md says exactly one PR state per open PR. States are machine-owned and the reconciler recomputes them, so this is not the builder's to hand-fix; flagging it only so a stale pair does not get read as a real signal.
**Approve** at `f221647fe372a76c38f46dcd21c962e5ee80a8b0`. The edit is exactly the three paths #263 specifies, and the section is the assembler's own bytes rather than typed prose — I reproduced that rather than taking the PR's word for it. ## What I ran **The canonical byte comparison, RED then GREEN.** Rebuilt the seven-fragment reference from the artifacts (`7bdae45` worktree + `aa167fd:changelog.d/238.md`, `bin/changelog-assemble 0.6.2 2026-08-24 --check`): - Against the section on unmodified `main`: `32a33` — the #238 bullet missing. The check has something to catch. - Against the section at `f221647`: `diff` empty. Byte-identical. - Six-fragment vs seven-fragment output differ by exactly one line, and it is the **first** bullet of `### Fixed` — spec item 1's placement, measured, not assumed. **The failure cases actually fail.** I built the two mutants the test plan names and ran the same comparison: - Same line appended *last* in `### Fixed` instead of first → `diff` reports `32a33` / `35d35`. A `grep -c '(#238)'` on that mutant returns `1` — it would have passed. This is why the criterion is a byte comparison. - The line reworded (`each forge` → `every forge`) → `diff` reports it. **Placement and blast radius.** `git diff -U0` is a single hunk, `@@ -58,0 +59 @@` — inside the `0.6.2` section (heading line 25, next heading `## 0.6.1` at line 63). No other section differs. `git diff --name-only origin/main...HEAD` is exactly `CHANGELOG.md`, `changelog.d/238.md`, `changelog.d/263.md`. `VERSION` still `0.6.3-dev`; no guard, test, workflow or doctrine file touched. **The fragments.** `changelog.d/238.md` absent at the head. `changelog.d/263.md` is one `### Changed` heading plus spec item 5's entry verbatim, `<issue>.md`-named per `changelog.d/README.md`, and consistent with `shape` = `grouped`. I dry-assembled the live `0.6.3` set at the head (`changelog-assemble 0.6.3 ... --check`, worktree clean afterwards): the new entry lands under `### Changed` and #238's entry no longer appears in `0.6.3` — which is the defect this closes. **Guards, sweep, whitespace.** All five green at the head with `rc=0`: `changelog-armed` (fragment mode, `0.6.3-dev`), `changelog-monotonic` (all 9 headings still present vs `origin/main`), `changelog-assembled` (NOTICE: development tree — see caveat below), `drill-recorded`, `runner-isolated`. `bash .github/scripts/shellcheck-all.sh` → 64 tracked scripts, `rc=0`. `git diff --check` clean. **The publication is untouched.** `GET releases/tags/0.6.2`: `published_at` `2026-08-24T16:10:40Z`, body SHA-256 `1ff9e12d053ed7d909a7bd73048e6e9b6516a03122d63018028f75589b493cd2` — matching the PR's recorded hash — and no `238` anywhere in it. `git rev-parse '0.6.2^{}'` → `5a8fce83757dc283dff8eec8f1009577b4dfccf3`. The tree and the publication now diverge by that one line, deliberately, as ruling B chose. **Body shape.** `Refs #263`, and a scan for `(close|fix|resolve)[sd]?\s*#N` over the whole body finds nothing — the only two references are `#238` and `#263`, neither preceded by a closing keyword in prose or in a code span. `Refs guard / refs-not-closing` is `success` at the head. The BUILDER.md exception is named in the second line of the body, where a reviewer applying the standing `Never edit CHANGELOG.md` rule will meet it; no doctrine file is widened. ## What I could not verify, and what I relied on instead **`bash test/run.sh` is 28 passed / 3 failed on my box, not 31/0 as the PR records — and that is my environment, not this PR.** The three files are `labels-bootstrap`, `labels-dispatch`, `labels-triggers`, and all 25 individual failures trace to `yq: command not found`. I baselined the same three files on `origin/main` (`aa167fd`) in a separate detached worktree and got identical counts — 7/7, 7/14, 28/4. They are pre-existing and tool-gated; this PR touches no workflow YAML, so it cannot reach them. For the whole-suite claim I relied on CI: every context on `f221647` is `success`, including `CI / test` (2026-08-25T17:46:38Z) and `CI / self-guards`. The remaining 28 files pass locally, 1,585 assertions. **`changelog-assembled` proves nothing about the section here, by design** — it NOTICEs a development tree and compares nothing, so its green is not evidence for criterion 1. The byte comparison above is what carries that criterion; I ran it rather than leaning on the guard. **The post-merge criterion is correctly left unticked** — triage owns that verification and the close, which is why the body says `Refs #263`. ## Non-blocking - #263 sizes the new entry at 224 characters; it is 226. Well inside the 300 bound — a triage miscount, not a defect in the fragment, and nothing to change. - The PR currently carries both `state:addressing` and `state:bots-reviewing`, where LABELS.md says exactly one PR state per open PR. States are machine-owned and the reconciler recomputes them, so this is not the builder's to hand-fix; flagging it only so a stale pair does not get read as a real signal.
kimi-bot-andresmgsl approved these changes 2026-08-25 18:18:04 +00:00
kimi-bot-andresmgsl left a comment
Member

Reviewed at head f221647fe3.

Acceptance criteria (Refs #263):

  • The ## 0.6.2 — 2026-08-24 section is byte-identical to the assembler's canonical seven-fragment output. I reconstructed the assembly by checking out commit 7bdae45, restoring changelog.d/238.md from aa167fd, and running bin/changelog-assemble 0.6.2 2026-08-24 --check. The diff between that output and the PR's 0.6.2 section body is empty.
  • changelog.d/238.md is deleted.
  • changelog.d/263.md contains exactly the prescribed grouped ### Changed entry (224 characters, terminal citation group (#238, #231).).
  • Only CHANGELOG.md, changelog.d/238.md, and changelog.d/263.md differ from main; no other changelog section changed.
  • Tag 0.6.2 still resolves to 5a8fce83757dc283dff8eec8f1009577b4dfccf3 and the published release body is unchanged.
  • All five self-guards (changelog-armed, changelog-monotonic, changelog-assembled, drill-recorded, runner-isolated) are green; git diff --check is clean.
  • The PR body names the sanctioned BUILDER.md exception and references this issue with Refs #263 (no closing keyword adjacent to the number).

Could not verify: the package-json cases of bash test/run.sh fail because this box has no node/npm. Every other test file passes, including all changelog, docs-sync, forge, issueflow, labels, ruling, vendored, and upstream-delta cases. The PR touches no package-json path, so those failures are environment noise rather than regressions.

No load-bearing constraints are breached: no workflows, doctrine files, consumer pins, or third-party action token arrangements are changed. The manual edit to CHANGELOG.md is the one-time sanctioned exception recorded in #263.

Reviewed at head f221647fe372a76c38f46dcd21c962e5ee80a8b0. Acceptance criteria (Refs #263): - The `## 0.6.2 — 2026-08-24` section is byte-identical to the assembler's canonical seven-fragment output. I reconstructed the assembly by checking out commit `7bdae45`, restoring `changelog.d/238.md` from `aa167fd`, and running `bin/changelog-assemble 0.6.2 2026-08-24 --check`. The `diff` between that output and the PR's 0.6.2 section body is empty. - `changelog.d/238.md` is deleted. - `changelog.d/263.md` contains exactly the prescribed grouped `### Changed` entry (224 characters, terminal citation group `(#238, #231).`). - Only `CHANGELOG.md`, `changelog.d/238.md`, and `changelog.d/263.md` differ from `main`; no other changelog section changed. - Tag `0.6.2` still resolves to `5a8fce83757dc283dff8eec8f1009577b4dfccf3` and the published release body is unchanged. - All five self-guards (`changelog-armed`, `changelog-monotonic`, `changelog-assembled`, `drill-recorded`, `runner-isolated`) are green; `git diff --check` is clean. - The PR body names the sanctioned BUILDER.md exception and references this issue with `Refs #263` (no closing keyword adjacent to the number). Could not verify: the `package-json` cases of `bash test/run.sh` fail because this box has no `node`/`npm`. Every other test file passes, including all changelog, docs-sync, forge, issueflow, labels, ruling, vendored, and upstream-delta cases. The PR touches no package-json path, so those failures are environment noise rather than regressions. No load-bearing constraints are breached: no workflows, doctrine files, consumer pins, or third-party action token arrangements are changed. The manual edit to `CHANGELOG.md` is the one-time sanctioned exception recorded in #263.
codex-bot-andresmgsl requested review from andres 2026-08-25 18:20:59 +00:00
codex-bot-andresmgsl added the
state:needs-human
label 2026-08-25 18:21:00 +00:00
andres merged commit 0533766a42 into main 2026-08-25 18:28:48 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: heavy-duty/ceremony#264
No description provided.