Skip to content

fix: migrate docs, stale height_of_hash, tight analog pins - #556

Merged
reardencode merged 4 commits into
masterfrom
fix/post-06-doc-pins
Sep 15, 2026
Merged

reardencode merged 4 commits into
masterfrom
fix/post-06-doc-pins

Conversation

@rearden-grok

@rearden-grok rearden-grok Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Why

Last four leftover items from the post-0.6 audit:

  1. docs/invariants.md still said format migrate is none-on-open.
  2. OPERATOR.md occupied-22/23 listed ovf/header.body before meta.
  3. A stale height_of_hash snapshot after disconnect could Corrupt RPC/Esplora.
  4. core_analogs prevout OR included "invariant"; empty estimatesmartfee accepted a positive rate if rbitcoin_model was set.

Contract

  • Occupied 22/23: rewrite meta first, then ovf / header.body; miss at/below live tip stays Corrupt; request past live tip retries live tip (height_of_hash_stale_snapshot_after_confirmed_shrink_is_none).
  • Missing-prevout analog matches ConsensusError::MissingPrevout / bad-txns-inputs-missingorspent.
  • Empty mempool estimatesmartfee is feerate == -1.0 plus the insufficient-data errors array, no model key.

Do not merge unless asked.

@rearden-grok
rearden-grok Bot force-pushed the fix/post-06-doc-pins branch from 754de33 to 8197dd3 Compare September 15, 2026 18:38
@rearden-grok rearden-grok Bot closed this Sep 15, 2026
@rearden-grok
rearden-grok Bot force-pushed the fix/post-06-doc-pins branch from f4199c1 to 91ccb5f Compare September 15, 2026 18:47
@rearden-grok rearden-grok Bot reopened this Sep 15, 2026
invariants.md and OPERATOR.md now match open(): meta first, then
occupied-22 ovf / occupied-23 header.body. height_of_hash retries the
live tip when a snapshot walks past confirmed (RPC/Esplora get None,
not Corrupt). core_analogs missing-prevout and empty estimatesmartfee
assert the shipped error class.
ensure_height_by_hash_index already retries the live tip. The extra
height_of_hash wrap was uncovered. Drive the no-tip unpublished
ensure so stale_or_missing clears the map.
Need a few more production hits so LH/LF does not fall vs master
91.25% (unrounded). Drive the empty-locator stop-hash arms and
wire_header_from_record_prev's cached prev from the stale-h2h journey.
Unrounded never-falls still needed ~5 more hits vs master 103271/113171.
@rearden-grok
rearden-grok Bot force-pushed the fix/post-06-doc-pins branch from 32abe67 to af15a77 Compare September 15, 2026 19:30
@reardencode
reardencode merged commit 77f7b83 into master Sep 15, 2026
16 checks passed
@rearden-grok
rearden-grok Bot deleted the fix/post-06-doc-pins branch September 15, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant