Skip to content

Merge bitcoin/bitcoin#25307: doc: fix typo in kernel/context.h and add desig to ignore-words#1195

Open
DashCoreAutoGuix wants to merge 1 commit intobackport-0.24-batch-457from
backport-0.24-batch-457-pr-25307
Open

Merge bitcoin/bitcoin#25307: doc: fix typo in kernel/context.h and add desig to ignore-words#1195
DashCoreAutoGuix wants to merge 1 commit intobackport-0.24-batch-457from
backport-0.24-batch-457-pr-25307

Conversation

@DashCoreAutoGuix
Copy link
Owner

@DashCoreAutoGuix DashCoreAutoGuix commented Nov 30, 2025

Summary

  • Adds desig to the spelling ignore words list (test/lint/spelling.ignore-words.txt)
  • The src/kernel/context.h typo fix from the Bitcoin commit is not applicable as this file does not exist in Dash Core (the kernel library has a different structure)

Original Bitcoin PR

Backports bitcoin#25307

Original commit: e3c08eb

Changes Applied

  • test/lint/spelling.ignore-words.txt: Added desig to ignore-words (1 line)
  • ⏭️ src/kernel/context.h: Skipped - file does not exist in Dash

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated internal tooling and configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

…` to ignore-words

d575413 doc: add `desig` to ignore-words (brunoerg)

Note: The src/kernel/context.h typo fix is not applicable as this file
does not exist in Dash Core (the kernel library has a different structure).

Backport of bitcoin#25307
@coderabbitai
Copy link

coderabbitai bot commented Nov 30, 2025

Walkthrough

A single spelling ignore entry "desig" was added to the test linting configuration. This is a non-functional change that expands the list of words to exclude from spelling validation during lint checks.

Changes

Cohort / File(s) Change Summary
Spelling Ignore Configuration
test/lint/spelling.ignore-words.txt
Added new spelling ignore entry for "desig"

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main changes: merging a backport that fixes a typo and adds a spelling ignore word entry.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch backport-0.24-batch-457-pr-25307

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 199ac79 and 28e2bdb.

📒 Files selected for processing (1)
  • test/lint/spelling.ignore-words.txt (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

**: # CodeRabbit AI Review Instructions for Dash Backports

Your Role

You are reviewing Bitcoin Core backports to Dash Core. Your ONLY job is to validate that the Dash commit faithfully represents the original Bitcoin commit with minimal, necessary adaptations.

Critical Validation Rules

1. File Operations Must Match (AUTO-REJECT if violated)

  • If Bitcoin modifies an existing file → Dash MUST modify (not create new)
  • If Bitcoin creates a new file → Dash creates
  • If Bitcoin deletes a file → Dash deletes
  • Common failure: Bitcoin modifies keys.txt, Dash creates new file with 58 keys

2. Size Ratio Check (80-150% of Bitcoin)

  • Count functional lines changed (exclude comments/whitespace)
  • Dash changes should be 80-150% of Bitcoin's size
  • Red flag: 2-line Bitcoin fix becoming 150+ lines in Dash

3. No Scope Creep

  • Reject if you see: "TODO:", "FIXME:", "while we're here", "also fix"
  • No unrelated refactoring or style changes
  • Only Bitcoin's intended changes + minimal Dash adaptations

4. Bitcoin-Specific Code Detection

  • Auto-reject witness/segwit code: msg_wtxidrelay, MSG_WTX, witness imports
  • Auto-reject RBF (replace-by-fee) functionality
  • Note: PSBT is supported in Dash (don't flag)

5. Mandatory Adaptations Only

  • bitcoindash in strings/paths
  • BitcoinDash in user-facing text
  • Port numbers: 8332→9998 (RPC), 8333→9999 (P2P)
  • Hardcoded test values specific to Dash
  • No other changes unless absolutely required

6. Completeness Check

  • All files changed in Bitcoin must be present
  • Extra files need clear justification (Dash-specific compatibility)
  • Missing files = incomplete backport

Review Process

  1. First: Check file operations match exactly
  2. Second: Calculate size ratio
  3. Third: Scan for scope creep patterns
  4. Fourth: Detect Bitcoin-specific code
  5. Fifth: Verify all changes are minimal adaptations

Output Format

VALIDATION: [PASS/FAIL]

File Operatio...

Files:

  • test/lint/spelling.ignore-words.txt
🧠 Learnings (1)
📓 Common learnings
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-28T22:03:12.364Z
Learning: During multiple verification attempts of Bitcoin Core commit 06d469c26b backport to Dash PR #566, DashCoreAutoGuix consistently identified scope creep in interface_usdt_utxocache.py where additional pruning test functionality was added beyond the original Bitcoin commit. The user provided comprehensive fixes including both scope creep removal and missing mempool test file additions, but couldn't push due to authentication restrictions. The scope creep fix was identified as the priority to resolve CI failures.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-28T20:34:29.061Z
Learning: During Dash backport verification of Bitcoin Core commit 06d469c26b, scope creep was detected when additional pruning test functionality was added to interface_usdt_utxocache.py beyond what was in the original Bitcoin commit. The fix involved removing the extra test block while maintaining the core compiler flag fixes for USDT compilation errors.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-31T01:14:55.631Z
Learning: DashCoreAutoGuix successfully completed a complex Bitcoin Core backport (PR #29412) for block mutation detection by implementing the IsBlockMutated function, adding net processing integration, creating comprehensive unit tests, and properly adapting all Bitcoin-specific witness code for Dash compatibility. The backport maintains full security functionality while respecting Dash's non-witness transaction architecture.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-29T21:29:32.827Z
Learning: DashCoreAutoGuix successfully fixed scope creep in Bitcoin Core commit fcdb39d3ee backport by removing the parse test case from src/test/uint256_tests.cpp that was not part of the original Bitcoin commit. The fix was implemented in commit 16748115ce and verified through range-diff analysis.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-29T17:13:35.087Z
Learning: When backporting Bitcoin Core commits that use Python's textwrap.dedent() function in test files, the textwrap import statement needs to be explicitly added if it's missing in the Dash test file.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-28T19:54:21.426Z
Learning: In Dash backports from Bitcoin Core, including necessary compilation fixes (such as API compatibility changes like UniValue get_int() → getInt<int>()) alongside the core backport is standard and expected practice. These compatibility fixes ensure the backported code compiles in Dash's evolved codebase while preserving Bitcoin's original functionality and intent.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-30T14:45:15.700Z
Learning: In Dash backports from Bitcoin Core test files, the `address_to_scriptpubkey` function should be imported from `test_framework.wallet` instead of `test_framework.address` as the import location differs between Bitcoin and Dash test frameworks.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-27T22:35:10.176Z
Learning: In Dash backports, src/dashbls files are vendored dependencies that should not be modified during Bitcoin Core backports unless there is specific justification. Unauthorized modifications to vendored dependencies should be removed to maintain code integrity.
Learnt from: DashCoreAutoGuix
Repo: DashCoreAutoGuix/dash PR: 0
File: :0-0
Timestamp: 2025-07-29T17:13:35.087Z
Learning: In Dash backports from Bitcoin Core, when the DIFFICULTY_ADJUSTMENT_INTERVAL constant is missing, it should be defined as 24 for Dash (different from Bitcoin's value), as seen in the getnetworkhashps RPC backport fix.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Lint / Run linters
  • GitHub Check: x86_64-w64-mingw32 / Build depends
  • GitHub Check: x86_64-apple-darwin / Build depends
  • GitHub Check: x86_64-pc-linux-gnu_nowallet / Build depends
  • GitHub Check: arm-linux-gnueabihf / Build depends
  • GitHub Check: x86_64-pc-linux-gnu / Build depends
🔇 Additional comments (1)
test/lint/spelling.ignore-words.txt (1)

7-7: Faithful backport with appropriate Dash-specific adaptation.

The addition of desig to the spelling ignore-words list is correctly positioned alphabetically and faithfully implements the spelling-related portion of bitcoin#25307. The intentional omission of src/kernel/context.h (which doesn't exist in Dash Core) is the appropriate handling for this backport—Dash's kernel library has a different structure, so the typo fix from Bitcoin doesn't apply here.


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 and usage tips.

@DashCoreAutoGuix
Copy link
Owner Author

Verification Analysis - Missing Dependency

This PR attempts to backport Bitcoin PR bitcoin#25307, which made two changes:

  1. Fixed a typo in src/kernel/context.h: "libary" → "library"
  2. Added "desig" to test/lint/spelling.ignore-words.txt

Current Status: Only change #2 was applied (the spelling.ignore-words.txt update). Change #1 was not applied because src/kernel/context.h doesn't exist in Dash.

Root Cause: The file src/kernel/context.h was introduced in Bitcoin PR bitcoin#25065 ([kernel 2c/n] Introduce kernel::Context, encapsulate global init/teardown), which has not been backported to Dash yet.

Recommendation: Bitcoin PR bitcoin#25065 must be backported to Dash before this PR (bitcoin#25307) can be fully applied. Once bitcoin#25065 is backported, this PR will need to be updated to include the typo fix in src/kernel/context.h.

CI Status: ✅ All 53 CI jobs passed

Note: The partial backport (just the spelling.ignore-words.txt change) is harmless but incomplete. Adding "desig" to the ignore list without the corresponding typo fix in context.h means the ignore rule has no immediate effect in Dash.

@DashCoreAutoGuix DashCoreAutoGuix added needs-dependency Requires a prerequisite Bitcoin PR to be backported first blocked PR is blocked and cannot proceed labels Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked PR is blocked and cannot proceed needs-dependency Requires a prerequisite Bitcoin PR to be backported first

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants