Skip to content

docs(6.0): backfill the changelog for the release's back half, and say what the release lane has actually run - #731

Merged
0xLeif merged 3 commits into
mainfrom
0xleif/docs-6-0-release-record
Aug 27, 2026
Merged

0xLeif merged 3 commits into
mainfrom
0xleif/docs-6-0-release-record

Conversation

@0xLeif

@0xLeif 0xLeif commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

CHANGELOG.md

The [Unreleased] section covered 6.0 work through PR #627 and then stopped. Every PR from #630 through #727 had no entry — 46 merges, ~52 issues, the entire back half of the release, including every defect an adopter reported against a release candidate.

46 entries are added: 3 Added, 8 Changed, 3 Security, 32 Fixed. The existing Removed entry (the Windows binary) stays first — it is the single most important thing an upgrader needs, and burying it under 1,700 lines of newer prose would be a regression in the document's job.

Nothing existing was touched: verified mechanically that every line of the previous file survives (1,662 lines, all accounted for).

Entries were derived from diffs and issue threads, never from commit subjects

That is not ceremony. Three issues this release — #699, #706, #719 — were filed with diagnoses that were directionally right and specifically wrong, each caught only when an implementer re-derived from source. Writing 46 entries from commit titles would have laundered every one of those errors into the release's public record.

It found seven divergences, kept as HTML comments beside the entries they explain — invisible when rendered, available to anyone doing archaeology later. Two are worth naming here:

docs/ci-confidence.md

Its "Tag authority" section reasons carefully about what the release lane enforces and never says which of it has ever run. A new subsection records that:

Job Status
resolve Executed — the workflow_dispatch dry run, first in the repository's history
validate Executed, same run
qualify Executed for the first time on rc.8, failing on Windows
promote Never executed

promote cannot be rehearsed here: final_tag derives from the candidate's own Cargo.toml, so any run against a real candidate mints the real tag. The proof and the release are the same event.

What was proven ahead of time is recorded with its limits. The Create final tag step was transcribed verbatim against a local bare repository and all three branches exercised — a fresh create produces an annotated tag pointing at candidate_sha and not HEAD; a re-run against the same candidate takes the idempotent path; a re-run against a different candidate refuses. And both rulesets were confirmed to carry update and deletion only, so tag creation is unrestricted and immutability cannot block the mint — the failure that would otherwise have appeared for the first time at the moment of release.

What remains unproven is named rather than glossed: a local path remote never asks for a credential, so the rehearsal shows the credential helper's git -c syntax does not break the invocation, not that it authenticates.

Deliberately not done

Consolidating the pre-existing duplicate ### Fixed and ### Changed headings inside [Unreleased]. They were already there; fixing them means reordering ~700 lines of prose nobody is changing and would bury 46 new entries in an unreviewable diff. Recorded in the change's context.md.

Findings that became their own issues

The backfill surfaced three defects too substantial to fix inside a docs change: #728 (a live requirement describing behaviour deleted by #665, invisible to check by construction), #729 (ADOPTING.md leads with the pre-#689 squash cost), and #730 (the delta binding hashes raw bytes while the applier normalizes line endings).

change check exit 0 · 2395 unit + 407 integration · independent review recorded · finalized · change audit --strict exit 0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DgYAvsQM6P9fKxDotnDuzP

0xLeif added 3 commits August 27, 2026 15:04
…y what the release lane has actually run

The [Unreleased] section covered work through #627 and stopped. Every PR from
#630 through #727 — 46 merges, ~52 issues — had no entry, including every
defect an adopter reported against a release candidate.

46 entries, derived from each commit's diff and issue thread rather than its
subject line. That produced seven recorded divergences, kept as HTML comments
beside the entries they explain. Two matter most: #668's title claims it fixed
tag reading, but its whole diff is a fetch-tags: true that is a no-op at
fetch-depth: 0, and #669 fixed it 39 minutes later; #715's 'one canonical
frontmatter reader' unified four strippers while two non-canonical readers
survive on main.

ci-confidence.md's tag-authority section reasoned about what the release lane
enforces without ever saying which of it had run. It now records that resolve
and validate executed for real, qualify executed for the first time on rc.8 and
is failing on Windows, and promote has never executed — with what was proven
about promote ahead of time, and what remains unproven, stated separately.
@0xLeif
0xLeif requested a review from a team as a code owner August 27, 2026 21:15
@0xLeif
0xLeif requested review from 0xGaspar, Kyntrin and tofu-ux and removed request for a team August 27, 2026 21:15
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@0xLeif
0xLeif merged commit a98fc3d into main Aug 27, 2026
21 checks passed
@0xLeif
0xLeif deleted the 0xleif/docs-6-0-release-record branch August 27, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant