Skip to content

chore(release): v0.4.0 - #179

Merged
tobert merged 1 commit into
mainfrom
release/v0.4.0
Sep 3, 2026
Merged

chore(release): v0.4.0#179
tobert merged 1 commit into
mainfrom
release/v0.4.0

Conversation

@tobert

@tobert tobert commented Sep 3, 2026

Copy link
Copy Markdown
Owner

The mechanical half of the release ritual, so the tag is the only thing left to do by
hand. version → 0.4.0 in Cargo.toml and the lockfile, the unreleased section retitled,
a fresh empty one opened above it.

0.4.0 rather than 0.3.1 was your call on 2026-08-16, and the section earns it: three
backend kinds arrived (bfl, gemini-images, dashscope), write_cas and kaibo cas write are new surfaces, telemetry gained the metrics signal, and backends stopped seeding
their own key sources. A minor, not a patch.

⚠️ One thing to check before tagging

The date reads 2026-09-03 and it is a guess — you said you'd likely pick this up in
the morning. It must match the day the tag is pushed:

sed -i 's/^## \[0.4.0\] — .*/## [0.4.0] — YYYY-MM-DD/' CHANGELOG.md

It is the one thing in this PR a later reader cannot infer or correct from context.

Pre-tag gates — run, not assumed

Every item in AGENTS.md's Cutting a release, checked in the session that produced this
branch:

gate result
kaish pin current and no known unfixed bug 0.17.1 — the readlink -f break that held this release is fixed and measured
turso pin current =0.7.1 holds; 0.8.0-pre.7 is a prerelease
cargo tree -i empty aws-lc-rs, aws-lc-sys, mimalloc, openssl-sys — all absent on the musl target, with ring as the control that the query works
musl binary static statically linked, stripped / not a dynamic executable, runs and reports its version
sandbox probes re-run A–G against both kaish pins and diffed — required by the kernel bump

The static assertion was also run against a dynamic binary to confirm it discriminates,
because a check nobody has seen fail is a check nobody has tested.

Suite 1329 passed / 0 failed. kaibo --version reports kaibo 0.4.0.

After the tag

.github/workflows/release.yml builds the matrix on v*. Then the ritual's last steps,
both deliberately manual:

  1. Verify a fresh asset the way a user would — gh attestation verify, and cosign verify-blob with the new tag's identity. Note the floor is now cosign ≥ 2.5,
    measured this session (2.4.0 genuinely cannot read the bundle).
  2. scripts/bump-tap.sh v0.4.0 to point the Homebrew tap at the new release.

🤖 Generated with Claude Code

The mechanical half of the release ritual, so the tag is the only thing left to
do by hand. `version` goes to 0.4.0 in Cargo.toml and the lockfile, the unreleased
section is retitled, and a fresh empty one opens above it.

0.4.0 rather than 0.3.1 was Amy's call on 2026-08-16, and the section earns it:
three backend kinds arrived (bfl, gemini-images, dashscope), `write_cas` and
`kaibo cas write` are new surfaces, telemetry gained the metrics signal, and
backends stopped seeding their own key sources — a minor, not a patch.

**The date reads 2026-09-03 and is a guess** — Amy expects to cut the tag in the
morning. It has to match the day the tag is pushed, so change the line if that
slips; it is the one thing here a later reader cannot infer.

Every pre-tag gate in AGENTS.md was run in the session that produced this branch,
rather than assumed:

- kaish pinned at 0.17.1, current *and* carrying no known unfixed bug — the
  `readlink -f` break that held this release is fixed and measured.
- turso still exact-pinned `=0.7.1`; 0.8.0-pre.7 is a prerelease, so the pin is
  current.
- `cargo tree -i` empty for aws-lc-rs, aws-lc-sys, mimalloc and openssl-sys, on
  the musl target and with `ring` as the control that the query works at all.
- The musl binary is `statically linked` / `not a dynamic executable`, runs, and
  the assertion was checked against a dynamic binary to confirm it discriminates.
- The sandbox probe battery A-G was re-run against both kaish pins and diffed,
  which the kernel bump required.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tobert
tobert merged commit d6d1636 into main Sep 3, 2026
1 check passed
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