IPC / multiprocess: ranking notes

Category notes

The list splits cleanly: a P1 core (the Chain wrapper, the multiprocess executables, and the shutdown crash fix), a P2 layer of platform parity, resource limits, cancellation and the wallet/GUI connect chain, and a P3 tail of tests, build guards and incremental interface additions. Two items (superseded FD reservation, arg rename/cleanup) genuinely belong in P4.

Review order and overlapping PRs

  • #34978 and #35037 address the same FD-exhaustion problem; review #35037 (per-address limits, reviewer-preferred design) and treat #34978 as superseded.
  • Dependency chain, review in this order: #29409 (Chain capnp wrapper) → #10102 (multiprocess executables) → #19460 (bitcoin-wallet -ipcconnect) → #19461 (bitcoin-gui -ipcconnect); each later PR has only a small unique delta.
  • #32387 (IPC Windows support) and #36105 (Windows wrapper exec/wait) are both Windows IPC platform work and partly overlap in scope; #32387 is the umbrella, #36105 is an independently mergeable piece of it.
  • #36106 and #36105 are both `bitcoin` wrapper platform bugs; they sit in different bands only because #36106 has a linked report of complete failure on installed systems while #36105 mainly affects Windows tooling/test exit-code handling. Review #36106 first.
  • #35932 and #36097 both depend on unmerged libmultiprocess PRs; #35932 fixes an existing crash and should be the upstream-sync priority.
  • Category-fit flags (not band changes): #35300 (precious flag on submitBlock) and #33117 (snapshot loading on interfaces::Node) change what the interfaces expose rather than IPC mechanics, so they arguably belong to `mining` and GUI/node respectively.

Band and position changes

  • #35887: P3 alone, P4 after comparison. Demoted from P3: rename plus std::optional refactor with no consumer waiting on it, which this category places at P3 or below; it is the narrowest item on the list.
  • #34978: P3 alone, P4 after comparison. Demoted from P3 and moved down: superseded by #35037, which the author himself preferred, so it now has no independent claim on review time.

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.