mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-18 18:32:28 +08:00
docs: versioning invariant in CLAUDE.md
Document that VERSION is a monotonic sequence, not a strict semver commitment. Bump level expresses intent; queue-advance within a level is permitted. Prevents future re-litigation of the workspace-aware ship design. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
10
CLAUDE.md
10
CLAUDE.md
@@ -407,6 +407,16 @@ No auto-merging. No "I'll just clean this up."
|
|||||||
|
|
||||||
## CHANGELOG + VERSION style
|
## CHANGELOG + VERSION style
|
||||||
|
|
||||||
|
**Versioning invariant (workspace-aware ship).** VERSION is a monotonic ordered
|
||||||
|
release identifier, not a strict semver commitment. The bump level
|
||||||
|
(major/minor/patch/micro) expresses intent at ship time. Queue-advancing past a
|
||||||
|
claimed version within the same bump level is explicitly permitted — if branch A
|
||||||
|
claims v1.7.0.0 as a MINOR and branch B is also a MINOR, B lands at v1.8.0.0
|
||||||
|
(still a MINOR relative to main). Downstream consumers must NOT rely on
|
||||||
|
"MINOR = feature-only, PATCH = fix-only" as a strict contract. This is why
|
||||||
|
`bin/gstack-next-version` advances within the chosen bump level rather than
|
||||||
|
repicking the level when collisions happen.
|
||||||
|
|
||||||
**VERSION and CHANGELOG are branch-scoped.** Every feature branch that ships gets its
|
**VERSION and CHANGELOG are branch-scoped.** Every feature branch that ships gets its
|
||||||
own version bump and CHANGELOG entry. The entry describes what THIS branch adds —
|
own version bump and CHANGELOG entry. The entry describes what THIS branch adds —
|
||||||
not what was already on main.
|
not what was already on main.
|
||||||
|
|||||||
Reference in New Issue
Block a user