Skip to content

chore: retarget in-repo branch references from v3.1-dev to v4.0-dev#3972

Open
shumkov wants to merge 1 commit into
v4.0-devfrom
chore/branch-refs-v4.0-dev
Open

chore: retarget in-repo branch references from v3.1-dev to v4.0-dev#3972
shumkov wants to merge 1 commit into
v4.0-devfrom
chore/branch-refs-v4.0-dev

Conversation

@shumkov

@shumkov shumkov commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Issue being fixed or feature implemented

The development branch v3.1-dev was renamed to v4.0-dev (the GitHub default branch was moved and all open PRs retargeted via GitHub's branch-rename). Several in-repo references still point at the old branch name. Most GitHub blob/ permalinks 302-redirect for now, but a few references go genuinely stale:

  • Codecov badges use codecov.io/.../branch/v3.1-dev/... — Codecov does not follow GitHub's branch-rename redirect, so these would report on a branch that no longer receives coverage data.
  • Nightly Actions filters (?query=...branch%3Av3.1-dev) filter on a branch that no longer receives runs (nightly now runs on v4.0-dev).

What was done?

Retargeted the live branch pointers v3.1-dev → v4.0-dev (11 files):

  • README.md — Codecov coverage badges + the "Nightly Tests" permalink.
  • NIGHTLY_STATUS.md — nightly-run description and the Actions branch-filter links.
  • book/src/drive/*.md (×9) — GitHub source permalinks.
  • .claude/skills/pr-description/SKILL.md — fallback base branch.
  • packages/swift-sdk/.../PlatformWalletManagerShieldedSync.swiftShieldedSyncWalletResultFFI doc-comment permalink.

Intentionally left unchanged (historical statements, not live pointers): CHANGELOG.md entries, the "byte-identical to v3.1-dev" baseline comments in rs-drive-abci/rs-drive, the PROTOCOL_VERSION_12 corresponds to v3.1-dev test comment, and the dated PLAN.md / TEST_PLAN.md provenance notes.

CI trigger filters already use the v*-dev glob (verified in tests.yml, book.yml, tests-rs-sdk-grpc-coverage.yml), so v4.0-dev is matched without changes. .codecov.yml has no hardcoded branch.

How Has This Been Tested?

  • grep confirms zero remaining v3.1-dev in the 11 modified files, and that every untouched occurrence is a historical mention.
  • Verified GitHub 302-redirects old blob/v3.1-dev/... permalinks to v4.0-dev (so nothing was 404ing pre-change); the new links resolve 200.
  • Docs-only / link-only change — no code behavior affected, no automated tests applicable.

Breaking Changes

None.

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

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

Summary by CodeRabbit

  • Documentation
    • Updated multiple docs, README badges, nightly status links, and code examples to point to the v4.0-dev branch.
    • Refreshed several cross-references and source links throughout the Drive documentation for consistency with the latest branch.
    • Adjusted a PR-description template fallback to use v4.0-dev when automatic branch detection fails.

The development branch v3.1-dev was renamed to v4.0-dev. Update the live
in-repo pointers that referenced the old branch name:

- README codecov coverage badges (codecov.io does not follow GitHub's
  branch-rename redirect, so these would otherwise report on a branch
  that no longer receives data)
- README "Nightly Tests" link and book/ source permalinks (GitHub
  currently 302-redirects the old name, but pinning the live name avoids
  relying on that redirect long-term)
- NIGHTLY_STATUS nightly-run description and Actions branch filters
  (nightly now runs on v4.0-dev)
- pr-description skill fallback base branch
- ShieldedSyncWalletResultFFI doc-comment permalink

Historical mentions (CHANGELOG entries, "byte-identical to v3.1-dev"
baseline comments, the PROTOCOL_VERSION_12 mapping, and dated PLAN/
TEST_PLAN provenance notes) are intentionally left as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v4.0.0 milestone Jun 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📖 Book Preview built successfully.

Download the preview from the workflow artifacts.
To view locally: download the artifact, unzip, and open index.html.

Updated at 2026-06-30T10:05:10.366Z

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b6bd89c4-6a78-4285-baf3-c2889043e48e

📥 Commits

Reviewing files that changed from the base of the PR and between a3a4d43 and 94fac3c.

📒 Files selected for processing (11)
  • .claude/skills/pr-description/SKILL.md
  • NIGHTLY_STATUS.md
  • README.md
  • book/src/drive/average-index-examples.md
  • book/src/drive/count-index-examples.md
  • book/src/drive/count-index-group-by-examples.md
  • book/src/drive/document-count-trees.md
  • book/src/drive/document-sum-trees.md
  • book/src/drive/indexes.md
  • book/src/drive/sum-index-examples.md
  • packages/swift-sdk/Sources/SwiftDashSDK/PlatformWallet/PlatformWalletManagerShieldedSync.swift

📝 Walkthrough

Walkthrough

All hyperlinks referencing the v3.1-dev branch are updated to v4.0-dev across README badges, NIGHTLY_STATUS links, book documentation chapters (indexes, count/sum/average index examples, document count/sum trees), the Claude skill PR-description fallback, and a Swift SDK doc comment.

Changes

Branch reference bump: v3.1-dev → v4.0-dev

Layer / File(s) Summary
Root status and config files
README.md, NIGHTLY_STATUS.md, .claude/skills/pr-description/SKILL.md
Nightly Tests and Codecov badge URLs, per-crate coverage table links, nightly run links, and the Claude skill base-branch fallback are all updated to v4.0-dev.
Book documentation chapters
book/src/drive/indexes.md, book/src/drive/average-index-examples.md, book/src/drive/count-index-examples.md, book/src/drive/count-index-group-by-examples.md, book/src/drive/document-count-trees.md, book/src/drive/document-sum-trees.md, book/src/drive/sum-index-examples.md, packages/swift-sdk/.../PlatformWalletManagerShieldedSync.swift
All internal cross-links to source files, bench references, verifier module URLs, and the Swift SDK doc comment are updated from v3.1-dev to v4.0-dev; no prose or logic changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • thepastaclaw

Poem

🐇 Hippity-hop, the branch has changed,
From v3.1 to v4.0 rearranged!
Every link now points ahead,
Where the newest code is spread.
This rabbit hops to fresher ground! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: updating in-repo branch references from v3.1-dev to v4.0-dev.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/branch-refs-v4.0-dev

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.

@thepastaclaw

thepastaclaw commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

✅ Review complete (commit 94fac3c)

@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.

Code Review

The PR is a docs/link retarget from v3.1-dev to v4.0-dev, with no runtime or consensus-critical code changes. I verified the reported documentation issue against the assigned SHA: one newly retargeted source link points to a missing file and should be corrected before the branch-retargeting goal is considered complete.

🟡 1 suggestion(s)

🤖 Prompt for all review comments with AI agents
These findings are from an automated code review. Verify each finding against the current code and only fix it if needed.

In `book/src/drive/count-index-group-by-examples.md`:
- [SUGGESTION] book/src/drive/count-index-group-by-examples.md:38: Retargeted group_by validation link points to a missing file
  This hunk changes the source permalink to `blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs`, but `packages/rs-drive/src/query/drive_document_count_query/validate.rs` does not exist at `94fac3cb02786e333ff0f9c65de2c479971c8fd0`, and `validate_count_query_groupby_against_index` is not present under `drive_document_count_query`. Since this PR is specifically retargeting live branch references and states that the new links resolve, this leaves a broken documentation link in scope for the PR. The current routing/validation entry point is `DriveDocumentCountQuery::detect_mode` in `mode_detection.rs`, with the path-query builders in `path_query.rs`, so the link text and target should be updated rather than only changing the branch name.

## Queries in this Chapter

All proof-size and behaviour numbers below come from the same bench helper (`report_group_by_matrix`) as chapter 29's. The dispatcher's group_by surface validation lives in [`validate_count_query_groupby_against_index`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs); the per-mode path-query builders sit in [`packages/rs-drive/src/query/drive_document_count_query/path_query.rs`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/src/query/drive_document_count_query/path_query.rs)'s `group_by_*` family.
All proof-size and behaviour numbers below come from the same bench helper (`report_group_by_matrix`) as chapter 29's. The dispatcher's group_by surface validation lives in [`validate_count_query_groupby_against_index`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs); the per-mode path-query builders sit in [`packages/rs-drive/src/query/drive_document_count_query/path_query.rs`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/path_query.rs)'s `group_by_*` family.

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.

🟡 Suggestion: Retargeted group_by validation link points to a missing file

This hunk changes the source permalink to blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs, but packages/rs-drive/src/query/drive_document_count_query/validate.rs does not exist at 94fac3cb02786e333ff0f9c65de2c479971c8fd0, and validate_count_query_groupby_against_index is not present under drive_document_count_query. Since this PR is specifically retargeting live branch references and states that the new links resolve, this leaves a broken documentation link in scope for the PR. The current routing/validation entry point is DriveDocumentCountQuery::detect_mode in mode_detection.rs, with the path-query builders in path_query.rs, so the link text and target should be updated rather than only changing the branch name.

Suggested change
All proof-size and behaviour numbers below come from the same bench helper (`report_group_by_matrix`) as chapter 29's. The dispatcher's group_by surface validation lives in [`validate_count_query_groupby_against_index`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs); the per-mode path-query builders sit in [`packages/rs-drive/src/query/drive_document_count_query/path_query.rs`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/path_query.rs)'s `group_by_*` family.
All proof-size and behaviour numbers below come from the same bench helper (`report_group_by_matrix`) as chapter 29's. The dispatcher's group_by surface validation lives in [`DriveDocumentCountQuery::detect_mode`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/mode_detection.rs); the per-mode path-query builders sit in [`packages/rs-drive/src/query/drive_document_count_query/path_query.rs`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/path_query.rs)'s `group_by_*` family.

source: ['codex']

A skill score is *amplified by class spread* — `skill × spread / 8` — so a +10-skill student in PHYS101 (spread=12) gains +15 over baseline, while the same student in ARTS101 (spread=4) only gains +5. This produces the realistic spread real transcripts exhibit: a strong student stands out more in hard classes, struggling students fall further behind in hard classes, easy classes flatten the curve.

**Realistic enrollment.** Not every student takes every class — that's not how transcripts work. The bench walks all 500 × 10 × 10 = 50 000 possible `(student, class, semester)` triples but only emits a grade when [`is_enrolled`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/benches/document_average_worst_case.rs) returns true, using a deterministic per-class popularity table:
**Realistic enrollment.** Not every student takes every class — that's not how transcripts work. The bench walks all 500 × 10 × 10 = 50 000 possible `(student, class, semester)` triples but only emits a grade when [`is_enrolled`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/benches/document_average_worst_case.rs) returns true, using a deterministic per-class popularity table:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

maybe just use permalinks (links referring commit ID) for easier maintenance?

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.

I would not make commit-ID permalinks the blanket fix in this PR. These docs are being retargeted to the live v4.0-dev branch, so branch links make sense when the intent is “show the current source for this branch.”

For examples where the prose depends on an exact implementation snapshot, permalinks could be better, but that is a broader docs-link policy/audit than this branch-retarget PR. I would keep this PR focused on making the retargeted v4.0-dev links resolve correctly.

## Queries in this Chapter

All proof-size and behaviour numbers below come from the same bench helper (`report_group_by_matrix`) as chapter 29's. The dispatcher's group_by surface validation lives in [`validate_count_query_groupby_against_index`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs); the per-mode path-query builders sit in [`packages/rs-drive/src/query/drive_document_count_query/path_query.rs`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/src/query/drive_document_count_query/path_query.rs)'s `group_by_*` family.
All proof-size and behaviour numbers below come from the same bench helper (`report_group_by_matrix`) as chapter 29's. The dispatcher's group_by surface validation lives in [`validate_count_query_groupby_against_index`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/validate.rs); the per-mode path-query builders sit in [`packages/rs-drive/src/query/drive_document_count_query/path_query.rs`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/path_query.rs)'s `group_by_*` family.

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.

🟡 The group_by_* path-query builder family named on this line doesn't exist on v4.0-dev. path_query.rs defines no group_by_*-prefixed functions — the GroupBy CountModes dispatch to distinct_count_path_query / carrier_aggregate_count_path_query (the only group_by occurrence in the file is inside an error-message string). The same naming recurs in prose around line 1741.

Note: the adjacent suggestion correctly repoints the validate.rs link to mode_detection.rs, but it retains the group_by_* family name — both are worth fixing together.

Recommendation: replace the group_by_* family with the real builder names (distinct_count_path_query, carrier_aggregate_count_path_query).

🤖 Co-authored by Claudius the Magnificent AI Agent

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.

Good catch. I agree: my earlier replacement should not keep the nonexistent group_by_* family wording. The target should name the actual builders in path_query.rs, especially distinct_count_path_query and carrier_aggregate_count_path_query, alongside the mode_detection.rs dispatcher link.

When `prove=false`, drive-abci calls into `DriveDocumentCountQuery` (in [`packages/rs-drive/src/query/drive_document_count_query/mod.rs`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/mod.rs)). The handler picks a path based on the where clauses:

**Unfiltered total (no where clauses) on a `documentsCountable: true` document type** ([`Drive::read_primary_key_count_tree`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/src/query/drive_document_count_query/drive_dispatcher.rs)):
**Unfiltered total (no where clauses) on a `documentsCountable: true` document type** ([`Drive::read_primary_key_count_tree`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/src/query/drive_document_count_query/drive_dispatcher.rs)):

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.

🟡 Drive::read_primary_key_count_tree is linked to drive_dispatcher.rs, but on v4.0-dev that function lives in drive_document_count_query/executors/total.rs (≈L89, pub(super) fn read_primary_key_count_tree). drive_dispatcher.rs resolves (200) but does not contain the symbol, so the link lands the reader on the wrong page. Pre-existing path drift (not introduced by the retarget), surfaced here.

Recommendation: point the link to packages/rs-drive/src/query/drive_document_count_query/executors/total.rs (optionally #L89).

🤖 Co-authored by Claudius the Magnificent AI Agent

Two pieces of infrastructure made this possible:

- `query_g1_*` … `query_g6_*` criterion `bench_function` calls in [`document_count_worst_case.rs`](https://github.com/dashpay/platform/blob/v3.1-dev/packages/rs-drive/benches/document_count_worst_case.rs) — produce the **Avg time** column in [Queries in this Chapter](#queries-in-this-chapter).
- `query_g1_*` … `query_g6_*` criterion `bench_function` calls in [`document_count_worst_case.rs`](https://github.com/dashpay/platform/blob/v4.0-dev/packages/rs-drive/benches/document_count_worst_case.rs) — produce the **Avg time** column in [Queries in this Chapter](#queries-in-this-chapter).

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.

🟡 The link text credits query_g1_* … query_g6_* bench functions, but document_count_worst_case.rs on v4.0-dev has no query_g6 — the group-by bench series is g1/g1a/g1b, g2, g3, g4, g5, g7, g8/g8a (it skips 6; the upper bound is g8). Minor symbol-range inaccuracy; the file link itself resolves.

Recommendation: adjust the range to the actual functions (g1..g8, noting g6 is unused).

🤖 Co-authored by Claudius the Magnificent AI Agent

@lklimek lklimek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

a few comments, but they can be handled in a follow-up pr

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.

4 participants