Commit 0ca390d
committed
web(version_signaling): surface live latched share_version as ground-truth v36_active
auto_ratchet.state is re-derived in the web layer from sampling math
(sampling>=95% => activated). But the node already carries the live
ratchet output in m_cached_share_version — the version actually stamped
on its new shares. A transient sampling-window dip can drop the derived
state back to "voting" while the node has in fact already latched to V36,
making the dashboard claim the cross has not happened when it has — a
charter #3 truthfulness gap (operators must see the ratchet truthfully).
Surface the live latch alongside the derived state in /version_signaling
and /v36_status: live_share_version (the real mining version) and
v36_active (live_share_version >= 36). Read-only mirror of existing state
— no change to the derived state logic, no consensus path touched. The
derived state stays as the chain-consensus view; v36_active is the node-
local ground truth, and operators can now see both. Non-transition coins
(Dash v16) report v36_active=false truthfully.
Web-only, non-consensus.1 parent 69f7ed5 commit 0ca390d
1 file changed
Lines changed: 18 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6104 | 6104 | | |
6105 | 6105 | | |
6106 | 6106 | | |
| 6107 | + | |
| 6108 | + | |
| 6109 | + | |
| 6110 | + | |
| 6111 | + | |
| 6112 | + | |
6107 | 6113 | | |
6108 | 6114 | | |
6109 | 6115 | | |
| 6116 | + | |
| 6117 | + | |
6110 | 6118 | | |
6111 | 6119 | | |
6112 | 6120 | | |
| |||
6130 | 6138 | | |
6131 | 6139 | | |
6132 | 6140 | | |
6133 | | - | |
6134 | | - | |
| 6141 | + | |
| 6142 | + | |
| 6143 | + | |
| 6144 | + | |
| 6145 | + | |
| 6146 | + | |
| 6147 | + | |
| 6148 | + | |
6135 | 6149 | | |
6136 | 6150 | | |
6137 | 6151 | | |
6138 | 6152 | | |
| 6153 | + | |
| 6154 | + | |
6139 | 6155 | | |
6140 | 6156 | | |
6141 | 6157 | | |
| |||
0 commit comments