Skip to content

v0.21 release audit: integrated state, verification, QA walkthrough and runbook - #428

Merged
raiseCatError merged 3 commits into
devfrom
docs/v021-release-audit
Oct 18, 2026
Merged

raiseCatError merged 3 commits into
devfrom
docs/v021-release-audit

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

Refs #410. Docs plus one QA helper script; no product code.

What changes

  • docs/development/v021-ledger.md now records the integrated state: Docs: v0.21 design, acceptance and ledger #411–v0.21 ledger: stabilization findings, verification, ordered integration and release gates #424 merged into dev (433af8fd), with each merge commit.
    • Exact-commit CI: push run 39135227830, all 13 jobs green.
    • Local gates on 433af8fd: npm ci, build, benchmark typecheck, bench:smoke and git diff --check pass. The suite ran 3,139 / 3,142 with 2 skipped and 1 failure, analysed below.
    • Benchmarks, and the code review's findings and disposition.
    • The remaining release gates.
  • docs/testing/v021-physical-qa.md:
  • scripts/qa/v021-fixtures.sh <new folder> creates every fixture the walkthrough uses: progress displays, hostile, FIFO and 20 MB files, CRLF+BOM, symlinks, 0640 and read-only files, passing and failing test projects, TypeScript and C errors, a small git repo, a Bun project.
    • It also creates a launcher (./nmsh [zsh|bash|fish|copy]) that runs the QA build with its own XDG_CONFIG_HOME and NMSH_RUNTIME_DIR, so it never reads your settings or attaches to your running sessions.
    • Nothing outside the folder is changed; nothing is downloaded, installed or run as root.
  • docs/development/v021-release-runbook.md: the v0.20 release flow made exact for v0.21.0, verified against the repository and the tap:
    • the release branch, then a merge commit into master, then the annotated tag on it, then the GitHub release (no assets);
    • verifying the archive checksum;
    • a manual tap PR (autobump failed daily from 2026-10-13 to 10-17), then the website sync after the tap, then the approved manual publish;
    • post-release smoke, dev fast-forward, and rollback.

Findings recorded

Verification

  • git diff --check: pass.
  • The fixture script was run into a fresh T7 folder. Each fixture was checked for what its item needs, and the captured test and compiler outputs went through the real recognizer: passing tests give node --test: 8 passed · 0 failed (40 in the final script); failing tests give 2 failed with 2 items; TypeScript gives 2 errors; GCC/Clang gives 1 error.
  • The launcher was started headless for zsh, Bash and Fish only to confirm it starts (it reaches the composer with no setup screen and leaves no session behind). That is not physical QA.

…nd runbook

The ledger records the merged state (#411–#424 on dev at 433af8f, each
merge commit), CI on that exact commit, the local gates, benchmarks, the
code review's findings (#425, #426, #427), the issue and PR disposition
(#403 and #394 closed) and the remaining release gates.

The physical QA checklist gains 3.9 (#425) and a walkthrough: three
sittings over the twelve passes, with what is unavailable on the QA Mac
and the coverage that exists instead. scripts/qa/v021-fixtures.sh builds
every fixture in one new folder, with a launcher that gives the QA build
its own configuration and session service.

The runbook follows the v0.20 release: release branch, merge into master,
tag on the merge commit, GitHub release, a manual tap PR, website sync and
the approved manual publish, then the post-release smoke and rollback.
The v0.20.0 release updated the other release pointers (README, ROADMAP,
AGENTS, SECURITY, CONTRIBUTING) but not this one.
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