chore(release): pre-tag fixes for 0.91.0 — cover #625, move version tags out of headings - #701
Merged
Merged
Conversation
PR #625 (/kbagent:setup) merged to main after the release PR branched but before it merged, so the 0.91.0 entry did not cover it. Tagging as-is would have shipped it undocumented. No version change -- 0.91.0 is not yet tagged.
CONTRIBUTING.md release step 4 keeps version tags off headings: resolving the placeholder changes the generated anchor slug and breaks inbound links. PR #697 did this pass, but #694 and #696 landed their headings around the same time and fell outside its grep. - gotchas.md: two headings, tag moved to the section's first body line - sync-workflow.md: heading reworded to 'Migrating a legacy sync tree', with the version stated on a body line No inbound links reference the affected anchors (verified by grep).
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.
Two pre-tag corrections to the v0.91.0 release (#699 is already merged; v0.91.0 is not yet tagged, so both land before the release goes out).
1. #625 was outside the changelog but inside the tag
#625 (
/kbagent:setup) merged tomainat 14:27 — after the release PR #699 branched offb5d4be39, before #699 itself merged at 14:36. The 0.91.0 entry was authored against the earlier scope, so it does not mention #625, and #625 is not trivial: a new plugin slash command, a rewritten onboarding flow inREADME.md/docs/TUTORIAL.md/CLAUDE.md, plusinstall.shandcontext.py.Tagging at
1e584ac0as-is would have shipped that work with no release note. Adds oneNew (#625):bullet next toChange (#627):(both cover plugin distribution and onboarding). Headline 98 chars, cap is 160.make changelog-checkcannot see this class of miss: it proves each released version has an entry, never that the entry covers every commit under the tag.2. Three resolved version tags left in markdown headings
Found by Devin Review on #699 (1, 2, 3) — all three confirmed and fixed here:
gotchas.md:461## … statement boundaries (since 0.91.0, #686)gotchas.md:530## … guard as \config update` (since 0.91.0)`sync-workflow.md:492## Migrating a tree pulled before 0.91.0 (#686)## Migrating a legacy sync tree (#686)+ version on a body lineCONTRIBUTING.md step 4 forbids version tags in headings because resolving the placeholder changes the anchor slug. Verified by grep that no inbound link references the affected anchors, so nothing is broken today — but the slugs are now stable.
Why #697 missed them
#697 did exactly this pass, via
grep -rn '^##.*vNEXT' plugins/. It merged at 13:20; #694 introducedgotchas.md:461at 13:18 and #696 introducedgotchas.md:530at 13:21. Its grep ran against a tree that did not contain them yet — the same merge-train race as item 1.Follow-up worth filing (not in this PR)
The "no version tags in headings" rule is entirely unenforced.
scripts/check_version_gates.pyhas no heading check; the### What's-new popup *(since vNEXT)*string intests/test_check_version_gates.py:146is test data for path/line reporting, not heading detection. The rule currently depends on one contributor remembering to run a grep, which is how it lost this race. A cheap check — flag any^#{1,6}.*(since v?X.Y.Z)in the scanned globs — would close it.Checks
make check: 6317 passed, 12 skipped; lint, format, typecheck, skill, version, version-gates, command-sync, endpoints, changelog, error-codes, sentinel-guards, loc all green.make vnext-check: all 557 gates across 77 versions resolve to a release.No version change —
pyproject.tomlstays at 0.91.0.