Skip to content

chore(release): 0.16.0 - #883

Open
stephrobert wants to merge 1 commit into
mainfrom
chore/release-0-16-0
Open

stephrobert wants to merge 1 commit into
mainfrom
chore/release-0-16-0

Conversation

@stephrobert

Copy link
Copy Markdown
Owner

Summary

Step 1 of RELEASING.md, for a release that was seven lots behind: the Unreleased section carried one of them.

What it ships. feint run owning the lab (#848) — the one command a stranger types. feint checkpoint and feint reset (#853), whose verdict is drawn from what a client can observe rather than from the operation's own intention. The Linux install route in the Quick Start (#843), proved on a clean runner against the published artefacts. Five fixes from an external audit of merged code (#871), including a reset that reported convergence while a firewall rule was missing from the interface. Two gates that could not fail (#829, #559). And the tracker agreeing with the tags (#877), the limits page catching up (#857) and the product's boundary written down (#196, #733).

Every line is in the note rather than only in the history, because the release workflow reads that section for the body of the GitHub Release: an entry missing here is an entry nobody downloading a binary ever sees.

Both changelogs carry the same entries. A change written in one file and not the other is a change a reader of one language never learns about, and TestBothChangelogsCarryTheSameUnreleasedEntries refuses it.

Seven files name the version by hand — the examples, an issue template and a demo tape — and they moved with the heading. TestEveryExampleNamesTheReleasedVersion turns red the moment the CHANGELOG moves, which is how they were found here rather than by a reader downloading a 404. That test exists because on 2026-08-18 the examples were wrong in both directions at once.

What this closes once tagged: #848, whose last acceptance bullet asks for a released binary on a clean Linux host. The acceptance replays itself — released-linux.yml triggers on the release event and installs the published binary by following the README's own block.

Type of change

  • A route added or changed
  • Bug fix
  • Refactor
  • Documentation
  • Chore / tooling
  • Security / supply chain

Checklist

Always

  • mise run check passes
  • No new external Go dependency
  • internal/core still knows no provider — no Go file is touched
  • Nothing in the diff could be written identically for another provider
  • mise run testplan was run, and what it printed was run

When a model wrote a substantive part of this

  • An Assisted-by: trailer names the tool and the model version
  • No conformance suite is touched. Every measurement cited in the notes was made in the pull request that shipped it, and is re-stated here rather than re-run
  • No provider field name is added or changed

When a route is added or changed

N/A — mise run release:surface reports 0 changes a release note must carry: nothing was newly served, nothing stopped being served, and no refusal was withdrawn since v0.15.0.

When behaviour a client can observe changes

  • The generated install blocks in both READMEs and docs/install.md now pin 0.16.0, regenerated with mise run docs:coverage in the same commit, as the procedure requires
  • docs/limits.md unchanged

When .github/workflows/ is touched

N/A.

When a machine runtime is involved

N/A.

Related issues

Closes #848 once the tag is pushed and the clean-host acceptance has run.

🤖 Generated with Claude Code

Seven merged lots had no release. The CHANGELOG carried one of them.

What this release ships, and why each line is in the note rather than only in
the history: the release workflow reads that section for the body of the
GitHub Release, so an entry missing here is an entry nobody downloading a
binary ever sees.

- `feint run` owning the lab (#848), which is this release's headline and the
  one command a stranger types;
- `feint checkpoint` and `feint reset" (#853), with a verdict drawn from what
  a client can observe rather than from the operation's own intention;
- the Linux install route in the Quick Start (#843), proved on a clean runner
  against the published artefacts;
- five fixes from an external audit of merged code (#871), including a reset
  that reported convergence while a firewall rule was missing from the
  interface;
- two gates that could not fail (#829, #559);
- the tracker agreeing with the tags (#877), the limits page catching up
  (#857), and the product's boundary written down (#196, #733).

The French changelog carries the same entries. A change written in one file and
not the other is a change a reader of one language never learns about, and
TestBothChangelogsCarryTheSameUnreleasedEntries refuses it.

Seven files name the version by hand -- the examples, the issue template and a
demo tape -- and they moved with the heading rather than after somebody noticed.
TestEveryExampleNamesTheReleasedVersion turns red the moment the CHANGELOG
moves, which is how they were found here rather than by a reader downloading a
404.

`mise run release:surface` reports 0 changes a release note must carry.
`mise run prepush` green.

Assisted-by: Claude Code (claude-opus-5)

This branch has not been deployed

No deployments
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.0 — feint run: one command owns an isolated local-cloud test lifecycle

1 participant