Indexes: ranking notes

Category notes

The list spreads cleanly across bands: one framework/correctness PR that also unblocks the multiprocess project (P1), a solid P2 core of integrity fixes, sync-time work, and two user-facing index features, two internal housekeeping refactors (P3), and one logging-format cleanup (P4). No PR was downgraded; the only band change is #24230 upward.

Review order and overlapping PRs

  • #35728 and #34132 attack the same underlying problem from different layers: corrupt or failed point reads surfacing as 'missing' data. #34132 makes dbwrapper point-read failures fatal globally; #35728 makes TxIndex/GetTransaction throw. Reviewers should settle the layer question once; review #35728 first (index-scoped, directly fixes the user-visible false 'not found'), then #34132, whose core is dbwrapper/coins and largely outside this category.
  • Chain: #34489 (batched index writes) is explicitly the extracted foundation for #26966 (parallel index sync); #34489 must be reviewed and settled first or #26966 will be rebased onto it anyway. #34489 itself depends on already-merged #34897.
  • #36002 (txindex in pruned mode) and #36480 (txospenderindex compact keys / block-sequence positions) both build on the #35531 key-format change and both move indexes toward pruned-mode support; #36002 establishes the pattern and the pruned-block error-data convention, so it should be reviewed before #36480.
  • #24230 and #35474 both restructure how indexes are owned and reached (interfaces and node::SyncChain vs. moving globals into NodeContext). They overlap in files and intent; #24230 is the broader, correctness-bearing change and should set the direction before #35474 is evaluated.
  • #36629 claims pruned-node operation for a new index while #36002 is still the open PR that establishes pruned-mode index support; the dependency is not stated on either card and should be clarified during review.

Band and position changes

  • #24230: P2 alone, P1 after comparison. Raised to P1: fixes a -reindex-chainstate startup race and stale-data-during-reorg window (category's top concern, correctness under reorgs) while being the stated prerequisite for out-of-process indexes (#10102) and shared chain sync (#15719); it cannot sit in the same band as the ordinary speedups it enables.
  • #34489: Placed ahead of #26966 because it extracts the batching foundation that the parallel-sync PR builds on.
  • #36629: New index with a stated consumer ranks below integrity fixes and sync-time work per the category ordering, hence 4 places below its own score position.

About

This pass by claude-opus-5 on 2026-11-01 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.