fix: add feature-signal detection to ship version bump heuristic#573
Open
claygeo wants to merge 1 commit intogarrytan:mainfrom
Open
fix: add feature-signal detection to ship version bump heuristic#573claygeo wants to merge 1 commit intogarrytan:mainfrom
claygeo wants to merge 1 commit intogarrytan:mainfrom
Conversation
The version bump auto-decide logic uses only line count (< 50 = MICRO, 50+ = PATCH) to pick the bump level. MINOR is never auto-triggered — it only fires when the user is asked, but the ask never happens because PATCH catches everything above 50 lines. This caused real feature work (new pages, new engines, new modules) to ship as PATCH bumps across 23+ sessions. The fix adds feature-signal detection before the line-count check: - New route/page files (e.g. app/*/page.tsx, pages/*.ts) - New DB migration/schema files - New test files alongside new source files - Branch name starting with feat/ - 500+ lines changed (large scope) - New modules/packages added If ANY signal is detected, the skill ASK the user about MINOR instead of auto-picking PATCH. This preserves auto-decide for genuine patches while surfacing the MINOR question for real features. Closes garrytan#527
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.
Problem
The
/shipskill (Step 4: Version bump) uses a line-count-only heuristic:In practice, MINOR is never auto-triggered because every real session exceeds 50 lines, so PATCH is always auto-picked. Over 23 sessions on a real product, features like full health score engines, reports pages, coaching signal layers, and PDF import all shipped as PATCH bumps.
Solution
Add feature-signal detection before the line-count check. If ANY of these signals are detected, the skill asks the user about MINOR instead of auto-picking PATCH:
app/*/page.tsx,pages/*.ts)feat/The MICRO and MAJOR thresholds are unchanged. PATCH still auto-picks when there are no feature signals and < 500 lines.
Changes
ship/SKILL.md.tmpl— Updated Step 4 auto-decide heuristicship/SKILL.md— Regenerated from templateTest Plan
/shipon a branch withfeat/prefix → should ask about MINOR/shipon a branch that adds newapp/*/page.tsxfiles → should ask about MINOR/shipon a branch with a 30-line config tweak → should auto-pick MICRO/shipon a branch with a 60-line bug fix (no feature signals) → should auto-pick PATCHCloses #527