Skip to content

spec: VERSIONING.md — Version = compatibility class, Revision = within-class edit counter - #126

Open
JarbasAl wants to merge 1 commit into
devfrom
spec/versioning-revision
Open

spec: VERSIONING.md — Version = compatibility class, Revision = within-class edit counter#126
JarbasAl wants to merge 1 commit into
devfrom
spec/versioning-revision

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Jul 4, 2026

Copy link
Copy Markdown
Member

🤖 Auto-generated by Claude Fable 5 (claude-fable-5) via Claude Code — NOT human-reviewed. Verify before acting. Cross-spec citations were model-verified against dev source; behavior-change sections need owner judgment.

Defines the two-field spec-header model:

  • Version — the V0/V1/V2 backward-compatibility class. Unchanged by a refinement; it answers only whether the contract is compatible with the pre-spec status quo.
  • Revision — a monotonic within-class edit counter, starting at 1, bumped by every PR that alters normative content; non-normative edits do not bump it. A Version change (compatibility-class change) resets Revision to 1.

Replaces the dangling "editorial revisions bump the spec's own revision number" sentence with the full definition. This resolves the ambiguity that led refinement PRs to bump Version where a Revision bump was intended.

Adoption is lazy: this PR does not amend any spec header, and a spec gains Revision only in its own next substantive PR — not a bulk migration. The Applicability section now spells out the transitional state that follows from that: until a spec's header carries Revision, Version is the only lever for any normative change to it, including a refinement that would otherwise be Revision-only, and a spec SHOULD gain Revision: 1 the first time such a refinement lands. This matches how CHANGELOG.md already records entries — grouped under each spec's ### N (Version) heading, with no Revision subheading — so no change is needed there.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@JarbasAl, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 36 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d8d99290-0093-48c8-9d97-eb6c127c1840

📥 Commits

Reviewing files that changed from the base of the PR and between 1d3622b and cb581b2.

📒 Files selected for processing (1)
  • VERSIONING.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch spec/versioning-revision

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@JarbasAl
JarbasAl marked this pull request as ready for review July 16, 2026 07:20
@JarbasAl
JarbasAl force-pushed the spec/versioning-revision branch from a8e75ce to 4d18c35 Compare August 4, 2026 11:17
…n-class edit counter

Squashed from:
- spec: VERSIONING.md — applicability names the lever for pre-Revision specs
- docs: scope VERSIONING split as policy-only with lazy header migration
- spec: VERSIONING.md — define Version (compatibility class) vs Revision (within-class edit counter)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JarbasAl
JarbasAl force-pushed the spec/versioning-revision branch from 4d18c35 to cb581b2 Compare August 4, 2026 12:51
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