dgb: delegate redistribute PPLNS-window guard onto get_height_and_last SSOT (#414 follow-on) - #416
Merged
Merged
Conversation
frstrtr
force-pushed
the
dgb/ghal-endpoints-ssot
branch
from
June 24, 2026 09:34
09dab20 to
1c8e8b0
Compare
frstrtr
force-pushed
the
dgb/redistribute-delegate-ghal
branch
from
June 24, 2026 09:35
50f094e to
db5f9a9
Compare
frstrtr
force-pushed
the
dgb/ghal-endpoints-ssot
branch
from
June 24, 2026 10:20
1c8e8b0 to
f4d3ee8
Compare
frstrtr
force-pushed
the
dgb/redistribute-delegate-ghal
branch
from
June 24, 2026 10:21
db5f9a9 to
a17ce1f
Compare
frstrtr
force-pushed
the
dgb/ghal-endpoints-ssot
branch
from
June 24, 2026 14:45
f4d3ee8 to
f3a67ae
Compare
frstrtr
force-pushed
the
dgb/redistribute-delegate-ghal
branch
from
June 24, 2026 14:50
a17ce1f to
d5df40d
Compare
frstrtr
force-pushed
the
dgb/ghal-endpoints-ssot
branch
from
June 24, 2026 15:51
f3a67ae to
20b3a87
Compare
frstrtr
force-pushed
the
dgb/redistribute-delegate-ghal
branch
from
June 24, 2026 15:53
d5df40d to
2363527
Compare
frstrtr
force-pushed
the
dgb/ghal-endpoints-ssot
branch
from
June 24, 2026 19:18
20b3a87 to
fda3bcb
Compare
frstrtr
force-pushed
the
dgb/redistribute-delegate-ghal
branch
2 times, most recently
from
June 24, 2026 20:41
eed564f to
d678858
Compare
…t SSOT Rewire refresh_pplns_cache's inline window guard in redistribute.hpp onto the get_height_and_last_endpoints.hpp SSOT (PR #414): depth = std::min(height, real_chain_length()) -> dgb::pplns_window_depth(...) if (depth < 1) return; -> if (!dgb::pplns_window_active(depth)) return; Byte-identical: pplns_window_depth is std::min and pplns_window_active is depth>=1, so !active == depth<1. No reward-distribution value change. Proof: dgb_redistribute_delegate_ghal_test re-derives the verbatim inline std::min/(depth<1) directly (non-circular) and asserts the SSOT call reproduces it across a height matrix straddling negative/0/1/RCL+-1, both nets. 3/3 green; prod dgb_redistribute_test 8/8 unchanged. FENCED dgb/ only. Target in CMake + both build.yml allowlist arms.
frstrtr
force-pushed
the
dgb/redistribute-delegate-ghal
branch
from
June 25, 2026 00:32
d678858 to
59a22db
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Byte-identity DELEGATION follow-on to #414 (the get_height_and_last SSOT), per integrator: keep the runtime rewire reviewable independently of the SSOT lift.
What: rewire
refresh_pplns_cacheinsrc/impl/dgb/redistribute.hpp(lines 454-455) onto the SSOT free functions:std::min(height, real_chain_length())->dgb::pplns_window_depth(...)if (depth < 1) return;->if (!dgb::pplns_window_active(depth)) return;Value-identical:
pplns_window_depthisstd::min;pplns_window_active(d)isd>=1, so!active == depth<1. No reward-distribution behavior change.Proof (non-circular):
dgb_redistribute_delegate_ghal_testre-derives the verbatim pre-delegation inlinestd::min/(depth<1)directly from the operands (does not call the SSOT for the expected side) and asserts the SSOT call reproduces it across a height matrix straddling negative / 0 / 1 / RCL-1 / RCL / RCL+1 on both nets. 3/3 green. Productiondgb_redistribute_test8/8 unchanged.Scope: FENCED to
src/impl/dgb/only. Target in CMake + both build.yml allowlist arms. Stacked ondgb/ghal-endpoints-ssot; retarget to master after #414 lands.NO self-merge — reward-distribution rewire, operator tap required (same gate as #414).