Skip to content

feat(platform): introduce protocol version 14 - #4267

Merged
QuantumExplorer merged 1 commit into
v4.2-devfrom
claude/protocol-version-14
Aug 2, 2026
Merged

feat(platform): introduce protocol version 14#4267
QuantumExplorer merged 1 commit into
v4.2-devfrom
claude/protocol-version-14

Conversation

@QuantumExplorer

@QuantumExplorer QuantumExplorer commented Aug 2, 2026

Copy link
Copy Markdown
Member

Issue being fixed or feature implemented

Creates protocol version 14 as a standalone, behavior-free gate — the same pattern as #4143 (protocol version 13). The consensus change that consumes this gate is the shared-prefix aggregate index fix (#3960, currently #4265): an aggregating countable / summable index whose terminal property also prefixes a compound index registers today but rejects document inserts. That fix lands in a follow-up PR that bumps the drive document methods struct at v14.

What was done?

Three files, mirroring the v13 introduction:

  • v14.rs: PLATFORM_V14 with the exact same component version structs as PLATFORM_V13 — no behavior change at introduction, so mixed-version validators agree until a follow-up activates real changes.
  • protocol_version.rs: registers PLATFORM_V14 and moves LATEST_PLATFORM_VERSION to it.
  • version/mod.rs: bumps LATEST_VERSION to PROTOCOL_VERSION_14, which also extends every bounded state-transition activation range (contract-create V1 9..=LATEST, address transitions 11..=LATEST, shielded transitions 12..=LATEST) to cover v14 — exactly as the v13 introduction did. This is consensus-safe: the ranges are checked against the runtime protocol version, so nothing changes for nodes running at v13 and below.

How Has This Been Tested?

With v14 == v13, everything that passes at latest simply runs at 14: dpp (3806), rs-drive lib (3251) and drive-abci lib (2629) suites green on this branch.

Breaking Changes

Adds a protocol version; nodes on binaries without v14 cannot participate once the network votes it in. Behavior at v14 is identical to v13 until a follow-up consumes the gate.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
  • I have made corresponding changes to the documentation if needed

🤖 Generated with Claude Code

Activation gate for the shared-prefix aggregate index fix (an aggregating
countable / summable index whose terminal property also prefixes a compound
index registers today but rejects document inserts). v14 is functionally
identical to v13 at introduction — the same component version structs, no
behavior change. The consensus change that consumes this gate (a bumped
drive document methods struct with v2 index walkers) lands in a follow-up;
keeping v14 == v13 here lets mixed-version validators agree until that
change activates.

Bumping LATEST_VERSION also extends every bounded state-transition
activation range (contract-create V1 9..=LATEST, address transitions
11..=LATEST, shielded transitions 12..=LATEST) to cover v14, exactly as the
v13 introduction did.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 2cc3bd6d-791c-4957-a515-275232ff2085

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions github-actions Bot added this to the v4.1.0 milestone Aug 2, 2026
@thepastaclaw

thepastaclaw commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

✅ Final review complete — no blockers (commit 29ef386)

@thepastaclaw thepastaclaw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Final validation — Codex + Sonnet

PR #4267 introduces protocol version 14 as a pure activation gate, following the exact pattern used for v13's introduction. PLATFORM_V14 is field-for-field identical to PLATFORM_V13 (verified directly via diff — only doc comments differ, no component version constants changed), and all bounded state-transition activation ranges (9..=LATEST_VERSION, 11..=LATEST_VERSION, 12..=LATEST_VERSION) automatically extend to cover v14 through the shared LATEST_VERSION constant with no manual edits required. The crate builds cleanly. Both Claude and Codex found no issues, and independent verification against the actual diff confirms this is a minimal, low-risk, behavior-free change.

Review provenance

  • Codex reviewers: gpt-5.6-sol — general (completed)
  • Verifier: claude-sonnet-5 — final-verifier
  • Sonnet reviewers: claude-sonnet-5 — general (completed)

@codecov

codecov Bot commented Aug 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.55%. Comparing base (bfc8024) to head (29ef386).
⚠️ Report is 6 commits behind head on v4.2-dev.

Additional details and impacted files
@@            Coverage Diff             @@
##           v4.2-dev    #4267    +/-   ##
==========================================
  Coverage     87.54%   87.55%            
==========================================
  Files          2670     2671     +1     
  Lines        338763   338891   +128     
==========================================
+ Hits         296583   296707   +124     
- Misses        42180    42184     +4     
Components Coverage Δ
dpp 88.49% <ø> (ø)
drive 86.33% <ø> (ø)
drive-abci 89.57% <ø> (ø)
sdk ∅ <ø> (∅)
dapi-client ∅ <ø> (∅)
platform-version ∅ <ø> (∅)
platform-value 92.88% <ø> (ø)
platform-wallet ∅ <ø> (∅)
drive-proof-verifier 49.79% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@QuantumExplorer
QuantumExplorer changed the base branch from v4.1-dev to v4.2-dev August 2, 2026 19:27
@QuantumExplorer

Copy link
Copy Markdown
Member Author

Reviewed

@QuantumExplorer
QuantumExplorer merged commit 2d324d8 into v4.2-dev Aug 2, 2026
44 of 45 checks passed
@QuantumExplorer
QuantumExplorer deleted the claude/protocol-version-14 branch August 2, 2026 19:28
@github-actions github-actions Bot modified the milestones: v4.1.0, v4.2.0 Aug 2, 2026
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.

2 participants