Skip to content

chore: roll v0.4.0 — the clean-cutover release#131

Merged
REPPL merged 1 commit into
mainfrom
chore/roll-v0.4.0
Jul 22, 2026
Merged

chore: roll v0.4.0 — the clean-cutover release#131
REPPL merged 1 commit into
mainfrom
chore/roll-v0.4.0

Conversation

@REPPL

@REPPL REPPL commented Jul 22, 2026

Copy link
Copy Markdown
Owner

The clean-cutover manual roll (plan outcome 7)

Assembles the [Unreleased] block into ## [0.4.0] - 2026-07-22 and resets
[Unreleased] to empty. This is the last hand-cut release; every cut after
it uses the derived abcd launch ship pipeline that merged in the P0–P4 stack.

Why 0.4.0

The block contains one breaking record — iss-51, the strict banned_tokens
schema (entries lacking successor or allow_context are rejected at load).
Under the pre-1.0 rule (breaking -> minor++, ADR-37), that derives
0.3.0 → 0.4.0. Maintainer signed off on the breaking reading.

What the roll changes structurally

  • Introduces the ### Breaking section the file header has always promised
    (this is the first pre-1.0 breaking release): the banlist entry moves there
    from ### Changed.
  • Merges the block's two ### Fixed sections into one.
  • No entry text was altered.

What merging this PR does

auto-release.yml's detect job greps the newest dated heading on the next
push to main — merging this PR creates tag v0.4.0 and publishes the
release
. Verified locally that the detect pattern resolves this heading and
nothing else.

This will be the first tagged tree containing
.abcd/development/release/surface.json, which unwedges the surface guard:
abcd changelog currently refuses fail-closed against v0.3.0 (no baseline in
that tag) and derives cleanly once this tag exists.

Gates

  • make preflight green (build, gofmt, vet, tests, -race, record-lint,
    docs lint — 0 blockers).
  • Docs-currency release gate: deterministic lint clean; the semantic
    docs-currency review returned PASS — all fifteen user-facing claims in
    the 0.4.0 block verified against the implementing code with file:line
    evidence, and the committed CLI reference regenerates with no diff.

Assembles the [Unreleased] block into a dated heading per the
derived-changelog plan's cutover: the last hand-cut release before
abcd launch ship takes over. Introduces the Breaking section the
file header promises (first pre-1.0 breaking release): the strict
banned_tokens schema (iss-51) moves there from Changed, and the two
Fixed sections merge into one. breaking -> minor under the pre-1.0
rule, so 0.3.0 -> 0.4.0. The tag this heading triggers will be the
first release whose tree carries the surface baseline, unwedging
every future derived cut.

Assisted-by: Claude:claude-fable-5
@REPPL
REPPL merged commit 68ce240 into main Jul 22, 2026
12 checks passed
@REPPL
REPPL deleted the chore/roll-v0.4.0 branch July 22, 2026 14:07
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