@@ -123,24 +123,36 @@ runs:
123123 was truncated you may run `git diff` yourself (read-only) for any file.
124124
125125 How to choose the bump (apply in order):
126- 1. MAJOR — if a commit message carries an explicit `BREAKING CHANGE:`
127- footer or a `type!:` marker, that is authoritative: bump major.
128- ALSO bump major if the DIFF itself is backward-incompatible even when
129- no commit said so — e.g. a public endpoint/route/exported symbol is
130- removed or renamed, a request/response schema or required field
131- changes shape, default behavior changes in a way that breaks existing
132- callers, or a config/runtime contract changes. You are explicitly
133- allowed to bump the major from the diff alone.
134- 2. MINOR — backward-COMPATIBLE new functionality: a new endpoint, flag,
135- exported symbol, or capability is ADDED without breaking existing
136- ones (corresponds to `feat:`).
126+ 1. MAJOR — a breaking or broadly-disruptive change. Bump major if ANY
127+ of these hold:
128+ - a commit message carries an explicit `BREAKING CHANGE:` footer or
129+ a `type!:` marker (authoritative); OR
130+ - the DIFF is backward-incompatible even when no commit said so —
131+ e.g. a public endpoint/route/exported symbol is removed or
132+ renamed, a request/response schema or required field changes
133+ shape, default behavior changes in a way that breaks existing
134+ callers, or a config/runtime contract changes; OR
135+ - the change lands on the common path for the vast majority of
136+ users (roughly 90%+ of them) — e.g. it changes a default everyone
137+ relies on, forces a migration / re-config / re-auth, or alters
138+ output or UX that nearly all users will hit. A high blast radius
139+ is breaking even if old code technically still compiles.
140+ You are explicitly allowed to bump the major from the diff alone.
141+ 2. MINOR — backward-COMPATIBLE new functionality that users opt into: a
142+ new endpoint, flag, exported symbol, or capability is ADDED without
143+ breaking existing ones and without changing what current users
144+ already experience (corresponds to `feat:`).
137145 3. PATCH — bug fixes, performance, internal refactors, docs, chores, or
138- anything else that neither adds public surface nor breaks it.
146+ anything else that neither adds public surface nor breaks it, and
147+ that most users won't actively notice.
139148
140- Be conservative about MAJOR to avoid false positives: purely additive
141- changes are MINOR, not MAJOR. Only call it breaking if existing public
142- behavior is actually removed or changed incompatibly. When genuinely
143- unclear between two levels, pick the lower one (default to patch).
149+ Be conservative about MAJOR to avoid false positives. "Could affect 90%
150+ of users" means the change alters something on the common path that
151+ nearly all users already depend on — NOT merely that a new, opt-in
152+ feature is available to them. A purely additive feature is MINOR even
153+ if every user could eventually adopt it, because it doesn't disrupt
154+ what they already do. When genuinely unclear between two levels, pick
155+ the lower one (default to patch).
144156 PROMPT
145157 echo
146158 echo "A major bump of ${STABLE_VERSION} increments the first number and"
0 commit comments