Skip to content

release: v2.2.0 - #66

Merged
vyncint merged 2 commits into
mainfrom
release/v2.2.0
Sep 9, 2026
Merged

release: v2.2.0#66
vyncint merged 2 commits into
mainfrom
release/v2.2.0

Conversation

@vyncint

@vyncint vyncint commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Milestone 2.2.0 (#50#59), plus a deep documentation pass.

Deep test at this tree

check result
just ci (fmt, clippy, test, docs, deny, schemas, pins, versions, skill) green
just gate — real reconverge 0.6.0, cuda-oxide 26754ae5 3/3
MSRV 1.88 --locked green
just termlens-cli (--ignored) 4/4
cargo-semver-checks --workspace vs 2.1.0, forced patch 8/8 crates clean
corpus prune --cc 8.6 93 clean, 8 refused, 0 tool errors
cargo oxide inspect × 6 kernels all lower to PTX, one .visible .entry each
stress hunt, 100 iterations 12/12 — both OSes × 1/2/4/8/16 threads (run)

The 8 refusals are reduce-flip above one warp — the corpus's known flip, and the number that would move if the gate regressed.

The deep doc read found four false claims

Links and anchors are sound: a script walked all 22 markdown files and found 0 broken relative links and 0 broken anchors. The measured numbers hold — the five Spearman correlations match model-calibration.toml exactly, the documented cargo reconverge check --strict --message-format json --cc invocation matches runner.rs verbatim, and --cc 86 / sm_86 / 8.6 all resolve as claimed.

These did not hold:

  1. --allow-unsafe was documented as if it were on tune. It is on stage; tune --allow-unsafe is an unexpected argument error. Verified, then corrected.
  2. The README's CLI block omitted stage entirely — a real subcommand, listed in docs/ARCHITECTURE.md's crate table but nowhere a user would look. Added, with space --list and model --results.
  3. just ci was described with a two-release-stale recipe list in three placesAGENTS.md, CONTRIBUTING.md, and ci.yml's own header. None mentioned docs, versions or skill.
  4. docs/research-baseline.md said "the gate now pins 0.3.0" in the present tense. It pins 0.6.0. That row records the S0 measurement conditions and is deliberately frozen, so it now says which versions followed and points at the comparison sections.

Also: the mermaid diagram used \n for line breaks; <br/> is the form verified to render on GitHub, and \n in mermaid edge labels is unreliable.

Release mechanics

  • workspace.package.version and the eight internal [workspace.dependencies] pins both at 2.2.0 — just versions enforces it, and stale pins would make cargo metadata refuse the next major.
  • CHANGELOG [2.2.0] written from the ten issues, including the four that were wrong when filed — the miscounts are recorded because the shape of the miscount is the useful part.
  • action/action.yml's version example bumped to 2.2.0. The floating @v2 tag stays; release.yml moves it.

After merge

Tag, publish, GitHub Release, install.yml, then baseline-version → 2.2.0 in a follow-up PR — per docs/RELEASING.md, which now spells out why the baseline moves after the publish and not before.

Signed-off-by: Vyncint Ng 115854244+vyncint@users.noreply.github.com

Checked every markdown file against the code before cutting 2.2.0. Links and
anchors are sound -- a script walked all 22 files and found 0 broken relative
links and 0 broken anchors -- and the measured numbers hold: the five
Spearman correlations match model-calibration.toml exactly, the documented
`cargo reconverge check --strict --message-format json --cc` invocation
matches runner.rs verbatim, and `--cc 86` / `sm_86` / `8.6` all resolve as
the README claims.

Four things did not hold.

**`--allow-unsafe` is on `stage`, not on `tune`.** The README put it in a
paragraph immediately after `tune`'s exit codes, so a reader would try
`launchbound tune --allow-unsafe` and get "unexpected argument". Verified.
Now stated where it lives and what it requires.

**The README's CLI block omitted `stage` entirely** -- a real subcommand,
listed in docs/ARCHITECTURE.md's crate table but nowhere a user would look.
Added, along with `space --list` and `model --results`, both of which exist
and neither of which was mentioned.

**`just ci` was described with a recipe list two releases stale**, in three
places that each name it: AGENTS.md, CONTRIBUTING.md and ci.yml's own header
comment. None mentioned `docs`, `versions` or `skill`. A contributor reading
any of them would not know what CI runs.

**docs/research-baseline.md said "the gate now pins 0.3.0"** in the present
tense. It pins 0.6.0. The row records the conditions of the S0 measurements
and should not be updated to match the gate -- so it now says which versions
followed and points at the two comparison sections, and says explicitly that
the row is deliberately frozen.

Also: the mermaid diagram used `\n` for line breaks. `<br/>` is the form
verified to render on GitHub (termlens's diagram, which was checked
visually); `\n` in mermaid *edge* labels is not reliably supported. Switched.

Deep test at this commit, all green: `just ci`, `just gate` 3/3 against real
reconverge 0.6.0 and cuda-oxide 26754ae5, MSRV 1.88, `just termlens-cli` 4/4,
cargo-semver-checks 8/8 crates clean against 2.1.0, corpus prune 93 clean /
8 refused / 0 tool errors, all six kernels lowering to PTX, and the stress
hunt 12/12 across both OSes at 1/2/4/8/16 threads.

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
@vyncint
vyncint merged commit cee6c1b into main Sep 9, 2026
9 checks passed
@vyncint
vyncint deleted the release/v2.2.0 branch September 9, 2026 10:50
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