chore(release): v2.0.6 + guard release against tag/version mismatch#106
Merged
Conversation
Bump version for the v2.0.6 release (spec 13.1 — O(change) watch-mode freshness). The release workflow publishes package.json's version on the v* tag, so this must match the tag. **Why this commit exists:** the first v2.0.6 publish (run 71639223540) failed with `npm error You cannot publish over the previously published versions: 2.0.5` — the v2.0.6 tag was pushed at a commit where package.json still said 2.0.5 (the bump was never made), so `npm publish` tried to republish 2.0.5. Two changes: - Bump package.json + package-lock.json 2.0.5 → 2.0.6 (the missing bump). - Add a "Verify tag matches package.json version" guard to the release workflow's validate job. A mismatched tag now fails fast and loud in `validate` with an actionable message, instead of sailing through and dying late in `npm publish` with the cryptic over-publish error. After this merges, the v2.0.6 tag must be re-created at the merge commit (it currently points at the pre-bump #103 merge) before re-running publish. Verification: tsc --noEmit clean; lint 0 errors; build clean; CI-mirror (vitest run src examples) 2936 passed / 2 skipped / 0 failures; guard logic sanity-checked (v2.0.6→pass, v2.0.5→fail). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The first v2.0.6 publish failed (Actions run
71639223540):Root cause: the
v2.0.6tag was pushed at the #103 merge commit, wherepackage.jsonstill said 2.0.5 — thechore(release)version bump was never made. Sonpm publishtried to republish 2.0.5 and npm rejected it. The release workflow had no guard that the tag matches the package version, so it sailed throughvalidateand died late inpublishwith a cryptic message.What this does
package.json+package-lock.json2.0.5 → 2.0.6 (the missing bump; 3 lines, matching the v2.0.5 release commit's footprint).validatejob fails fast with an actionable message when the tag ≠v<package.json version>. Sanity-checked:v2.0.6→pass,v2.0.5→fail.Why v2.0.6 is ready to ship — field fix validated
v2.0.6 carries the spec 13.1 watch-mode fix (#102) + its verification (#103). PR #102 honestly noted the original field symptom was never reproduced. I have now reproduced it cleanly, on enklayve's real 2.1 MB
llm-context.jsoncorpus, comparing published 2.0.5 vs the local fix (median of 5; methodology = drive the realMcpWatcherthrough real chokidar on a copy of enklayve's artifacts):The 15-file burst is the field "severe, batched result-delivery latency": old runs a full 2.1 MB rewrite + full 1,416-function BM25 rebuild per file, serialized, flooding stderr. The fix coalesces to one flush. A 50-file branch switch extrapolates to ~20 s vs one flush.
Release steps after merge (owner — NOT done here, publish intentionally held)
git tag -f v2.0.6 <merge-sha> && git push -f origin v2.0.6(it currently points at the pre-bump test(watcher): close the spec 13.1 verification gap (read-cache handoff via the watcher's own flush) #103 merge), or delete + recreate, or re-run the publish workflow viaworkflow_dispatchagainst the retagged ref.🤖 Generated with Claude Code