What changed, and why it matters
This commit only changes which source files are checked by an automated CI linting tool called 'Include What You Use' (IWYU). It expands the list of files where missing or unnecessary #include statements are treated as errors. It does not change any Bitcoin Core runtime code, network behavior, wallet logic, or cryptographic operations, so it has no direct security impact on users.
No security action required. Treat as a normal CI/linting improvement.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies ci/test/03_test_script.sh, updating the FILES_WITH_ENFORCED_IWYU regex to cover additional .cpp files (bench/(block_assemble|connectblock), node/(interfaces|miner|mining_args), rpc/mining, init). This is a CI-only change that enforces IWYU include-cleanliness on newly added paths. It does not alter compiled code, APIs, or consensus logic.
Changed components
ci/test/03_test_script.shInspect captured patch +1 / −1
diff --git a/ci/test/03_test_script.sh b/ci/test/03_test_script.sh
index 4e4d9757..fdd3a2c0 100755
--- a/ci/test/03_test_script.sh
+++ b/ci/test/03_test_script.sh
@@ -209,7 +209,7 @@ fi
if [[ "${RUN_IWYU}" == true ]]; then
# TODO: Consider enforcing IWYU across the entire codebase.
- FILES_WITH_ENFORCED_IWYU="/src/(((crypto|index|kernel|primitives|univalue/(lib|test)|util|zmq)/.*|common/license_info|node/blockstorage|node/utxo_snapshot|clientversion|core_io|signet)\\.cpp)"
+ FILES_WITH_ENFORCED_IWYU="/src/(((crypto|index|kernel|primitives|univalue/(lib|test)|util|zmq)/.*|bench/(block_assemble|connectblock)|common/license_info|node/(blockstorage|interfaces|miner|mining_args|utxo_snapshot)|rpc/mining|clientversion|core_io|signet|init)\\.cpp)"
jq --arg patterns "$FILES_WITH_ENFORCED_IWYU" 'map(select(.file | test($patterns)))' "${BASE_BUILD_DIR}/compile_commands.json" > "${BASE_BUILD_DIR}/compile_commands_iwyu_errors.json"
jq --arg patterns "$FILES_WITH_ENFORCED_IWYU" 'map(select(.file | test($patterns) | not))' "${BASE_BUILD_DIR}/compile_commands.json" > "${BASE_BUILD_DIR}/compile_commands_iwyu_warnings.json"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.