chore: retarget in-repo branch references from v3.1-dev to v4.0-dev#3972
chore: retarget in-repo branch references from v3.1-dev to v4.0-dev#3972shumkov wants to merge 1 commit into
Conversation
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>
|
📖 Book Preview built successfully. Download the preview from the workflow artifacts. Updated at 2026-06-30T10:05:10.366Z |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughAll hyperlinks referencing the ChangesBranch reference bump: v3.1-dev → v4.0-dev
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
✅ Review complete (commit 94fac3c) |
thepastaclaw
left a comment
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
🟡 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.
| 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: |
There was a problem hiding this comment.
maybe just use permalinks (links referring commit ID) for easier maintenance?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
🟡 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
There was a problem hiding this comment.
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)): |
There was a problem hiding this comment.
🟡 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). |
There was a problem hiding this comment.
🟡 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
left a comment
There was a problem hiding this comment.
a few comments, but they can be handled in a follow-up pr
Issue being fixed or feature implemented
The development branch
v3.1-devwas renamed tov4.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 GitHubblob/permalinks 302-redirect for now, but a few references go genuinely stale: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.?query=...branch%3Av3.1-dev) filter on a branch that no longer receives runs (nightly now runs onv4.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.swift—ShieldedSyncWalletResultFFIdoc-comment permalink.Intentionally left unchanged (historical statements, not live pointers):
CHANGELOG.mdentries, the"byte-identical to v3.1-dev"baseline comments inrs-drive-abci/rs-drive, thePROTOCOL_VERSION_12 corresponds to v3.1-devtest comment, and the datedPLAN.md/TEST_PLAN.mdprovenance notes.CI trigger filters already use the
v*-devglob (verified intests.yml,book.yml,tests-rs-sdk-grpc-coverage.yml), sov4.0-devis matched without changes..codecov.ymlhas no hardcoded branch.How Has This Been Tested?
grepconfirms zero remainingv3.1-devin the 11 modified files, and that every untouched occurrence is a historical mention.blob/v3.1-dev/...permalinks tov4.0-dev(so nothing was 404ing pre-change); the new links resolve200.Breaking Changes
None.
Checklist:
For repository code-owners and collaborators only
Summary by CodeRabbit
v4.0-devbranch.v4.0-devwhen automatic branch detection fails.