Land verified tools and docs stack

Merged
ME
7d ago
+4794-833

Draft subsystem stack split from PR #1687.

Base: f024fc3775d2b01d72c8e15b4879e202f8072a8e
Tip: 796fce69d39abcbf08a950bb4dfeffaaa5bed6e5
Full repository gate: native-gate-20261028T000017Z-2220212 (scripts/ci-pr.sh all, exit 0).

Scope: tools and docs.
This is a verified stack tip. Do not rebase or reparent it
without owner approval.

No better-than-Core claim. No mainnet qualification.

See also: #1687

Sync impact: YES. Touches authoritative paths: checkpoint restore writes side branches into the block tree in crates/chainstate/src/checkpoint/headers.rs and its v2 artifact, and sync request recovery routes unavailable-body retries through the sync owner. Affected clauses: SYNC-04 (recovery closure), SYNC-05 (durable progress), and SYNC-06 (work drivers). Smallest proofs: crates/p2p/src/sync/ body-rejection regressions, crates/chainstate/src/checkpoint/tests/side_branches.rs, and crates/node/tests/overhaul_durable_head.rs.

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; no new blocking issue was established.

Summary

This stack adds checkpoint side-branch retention, routes unavailable block bodies back through sync scheduling, and adds accepted-transaction bodies to ordered mempool notifications.

  • Checkpoints keep eligible side branches when the node restarts.
  • Sync retries block bodies after a peer reports that it lacks one.
  • Locator-based header replies follow the validated applied chain.
  • Mempool observers can receive accepted transaction bodies for ZMQ rawtx.
  • sendrawtransaction accepts the legacy false fee argument.
  • Checkpoint file operations avoid blocking on substituted pipes and limit rename paths.
  • The contracts and validation notes describe current sync, checkpoint, and tooling behavior.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Peer answers notfound] --> B{Exact current owner?}
  B -->|No| C[Leave request unchanged]
  B -->|Yes| D[Release owned request]
  D --> E[Remember peer cannot serve this hash]
  E --> F[Wake sync]
  F --> G[Plan request for another peer]
  E --> H[Retry interval expires]
  H --> I[Original peer becomes eligible again]

Reviews (4) · Last reviewed commit: "Adapt merged sync tests to branch owners..." · Reviewed by Greptile