Tools and scripts: ranking notes
Category notes
The category splits cleanly: two outright platform failures of the bitcoin wrapper (#36105, #36106) at the top, then a small P2 group where a tool silently acts on the wrong wallet or datadir (#35831, #27409) plus Windows multiprocess parity (#32387). The P3 band is ordered by the category's own priorities: key/transaction-touching tools and seed generation before developer helper scripts. Everything under contrib that is a niche single-purpose script sits in P4 regardless of how real its bug is.
Review order and overlapping PRs
- #36105 and #32387 overlap: the Windows exec/child-wait fix appears to be carved out of the larger Windows IPC PR. Review #36105 first; #32387 should then be rebased on it and also depends on upstream libmultiprocess changes.
- #36157 and #31888 both modify contrib/linearize/linearize-data.py and will likely conflict. Review #36157 first (one-line, reproducible hang, active author); #31888 has been stalled awaiting the agreed doc updates.
- #35608 and #35809 both modify contrib/devtools/deterministic-fuzz-coverage. Review #35608 first (the runtime reduction) so the added coverage_check flag in #35809 is written against the new comparison path.
- IPC chain: #19460 sits on top of the multiprocess stack (#29409/#10102) and is the least useful of the IPC tool PRs on its own; #32387 (platform parity) and #30437 (client-side IPC coverage) should be looked at before it.
- #35903 may be moot: a reviewer asked whether #35958 makes the non-printable msgtype condition unreachable. Confirm that before spending review time.
- #35569 and #35054 are large non-tools projects whose only tools-category footprint is a helper (a tidy check, a Merkle-root script); their real evaluation belongs in the refactor/p2p categories, and their band here reflects only the tooling piece.
Band and position changes
- #36151: Moved up 7: seed generation is the first thing this category says matters; a crash in makeseeds during release preparation outranks developer helper scripts even though the fix is small.
- #35608: Moved down 7: a large speedup, but it only affects an offline fuzz-coverage helper, which the category ranks below tool correctness and seed/wallet tooling.
- #35167: Moved down 5: internal dependency-check tooling with a real macOS false-pass fix, but below user-facing tool fixes in this category.
- #35903: Moved up 5: among the niche contrib script fixes it is the clearest crash-with-total-output-loss, so it leads the P4 script group.
- #36157: P3 alone, P4 after comparison. Lowered to P4 for consistency with #31888, the other linearize-data.py fix: a reliable hang, but in a niche offline contrib script.
- #31888: Moved up 5 to sit next to #36157, the other linearize-data.py fix, since the two overlap and should be looked at together.
- #35569: P3 alone, P4 after comparison. Lowered to P4: within tools its contribution is a reusable bitcoin-tidy check with speculative payoff, the same treatment given to #35054, whose tools-relevant part is one maintenance script.
About
This pass by claude-opus-5 on 2026-09-17 saw every PR in the category at once and checked the bands given to each PR alone against each other, ordered the PRs, and noted chains and overlaps. Back to the category.