mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-21 22:30:57 +00:00
The Peer Ledger Supply Window panel drew supply_min_seq, supply_max_seq and nothing else on one linear axis. Measured on a mainnet node, those sit around 105,890,000 and roughly 300,000 apart, so the 588-ledger tip movement that shows whether sync is progressing was 0.0006% of the axis and read as a flat line. unit "none" also printed the sequences unabbreviated and clipped the legend. The panel's own "Watch for" text asked the reader to compare supply_min_seq against this node's validated sequence, but that line was not on the panel at all, so the comparison meant switching dashboards. Plot the two distances instead, which is what the panel was always asking about: History Headroom = validated_ledger_seq - supply_min_seq Tip Gap = supply_max_seq - validated_ledger_seq Zero is now the boundary in both directions: negative headroom is exactly the "every peer pruned what I still need" case the description warns about, and it becomes a zero crossing rather than a line-order comparison. Tip Gap gets the right-hand axis because the two ranges differ by orders of magnitude (measured: 299999..300001 against -1..1). Both operands are gated `> 0`. Ungated, differencing the documented "unknown window" sentinel of 0 yields the whole sequence space: measured -105854935 for headroom and 105890295 for tip gap during the first ticks, which destroys the axis for the rest of the window. Gated, the panel stays blank until the node has a validated ledger and a peer has advertised a range, which is the honest reading for that state. Both queries verified against a live mainnet node through the full template substitution: refId A = 300001 legend "History Headroom [xrpld-mainnet]", refId B = -1 legend "Tip Gap [xrpld-mainnet]". Runbook branch-C table, step 11 walkthrough and the 09 reference row follow the rename and the new reading. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>