Skip to content

chore(release): pre-tag fixes for 0.91.0 — cover #625, move version tags out of headings - #701

Merged
padak merged 2 commits into
mainfrom
claude/release-0-91-0-followup-625
Aug 25, 2026
Merged

chore(release): pre-tag fixes for 0.91.0 — cover #625, move version tags out of headings#701
padak merged 2 commits into
mainfrom
claude/release-0-91-0-followup-625

Conversation

@padak

@padak padak commented Aug 25, 2026

Copy link
Copy Markdown
Member

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 to main at 14:27 — after the release PR #699 branched off b5d4be39, 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 in README.md / docs/TUTORIAL.md / CLAUDE.md, plus install.sh and context.py.

Tagging at 1e584ac0 as-is would have shipped that work with no release note. Adds one New (#625): bullet next to Change (#627): (both cover plugin distribution and onboarding). Headline 98 chars, cap is 160.

make changelog-check cannot 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:

File Before After
gotchas.md:461 ## … statement boundaries (since 0.91.0, #686) tag on first body line
gotchas.md:530 ## … guard as \config update` (since 0.91.0)` tag on first body line
sync-workflow.md:492 ## Migrating a tree pulled before 0.91.0 (#686) ## Migrating a legacy sync tree (#686) + version on a body line

CONTRIBUTING.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 introduced gotchas.md:461 at 13:18 and #696 introduced gotchas.md:530 at 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.py has no heading check; the ### What's-new popup *(since vNEXT)* string in tests/test_check_version_gates.py:146 is 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.toml stays at 0.91.0.

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.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

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).
@padak padak mentioned this pull request Aug 25, 2026
13 tasks
@padak padak changed the title chore(release): cover #625 in the 0.91.0 changelog chore(release): pre-tag fixes for 0.91.0 — cover #625, move version tags out of headings Aug 25, 2026
@padak
padak merged commit 648d945 into main Aug 25, 2026
3 checks passed
@padak
padak deleted the claude/release-0-91-0-followup-625 branch August 25, 2026 16:34
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