Skip to content

btc(g2): AutoRatchet rig-free SIM KAT — arms staged-migration C2/C3/C4 - #440

Merged
frstrtr merged 1 commit into
masterfrom
btc/g2-autoratchet-sim-kat
Jun 25, 2026
Merged

btc(g2): AutoRatchet rig-free SIM KAT — arms staged-migration C2/C3/C4#440
frstrtr merged 1 commit into
masterfrom
btc/g2-autoratchet-sim-kat

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Mirror of DGB #427 --sim-votes for BTC (authorized path (b)). Gives the G2 staged-migration harness a rig-free verdict source for its C2/C3/C4 rows — previously GATED on a scarce SHA256d rig window because BTC had no AutoRatchet sim KAT (DGB proves the same rows via its existing AutoRatchet KATs).

What it pins (6 KATs, BTC_AutoRatchetSim):

  • C2 VOTING mints the V35 baseline while voting V36 (empty-tracker bootstrap).
  • C3 ltc: couple AutoRatchet mint gate to the work-weighted accept gate (fix #97 crossing wedge) #288 accept gate is 60%-by-WORK; a 95%-by-COUNT activation can NOT outrun it under heterogeneous hashrate (mint-cannot-outrun-accept). Pinned via a verbatim replica of the live inline tail-guard in AutoRatchet::get_share_version, plus a staged 1-by-1 migration whose work tally advances monotonically and activates only at full crossing.
  • C4 ratchet state persists across restart (CONFIRMED survives reconstruct).

Fence: test-only, btc-tree-local. Rides the already-allowlisted btc_share_test target (build.yml :71/:204) → FIRES in CI, no build.yml / drift-guard change. No consensus / shared-base / shared-CMake surface.

Evidence: 6/6 new pass; full btc_share_test 21/21 green locally. GPG-signed, no attribution. Separate PR — does NOT touch #436 (scripts-only fence stays clean).

Mirror of DGB #427 --sim-votes for BTC: gives the G2 staged-migration harness
(scripts/btc_g2_ratchet_staged_migration_harness.sh) a rig-free verdict source
for its C2/C3/C4 rows, which were GATED on a SHA256d rig window because BTC had
no AutoRatchet sim KAT (DGB proves the same rows via its existing AutoRatchet
KATs). Authorized as path (b).

  C2  VOTING mints the V35 baseline while voting V36 (empty-tracker bootstrap)
  C3  #288 accept gate is 60%-by-WORK, and a 95%-by-COUNT activation can NOT
      outrun it under heterogeneous hashrate (mint-cannot-outrun-accept) —
      pinned via a verbatim replica of the live inline tail-guard expression
      in AutoRatchet::get_share_version, plus a staged 1-by-1 migration whose
      work tally advances monotonically and activates only at full crossing
  C4  ratchet state persists across restart (CONFIRMED survives reconstruct)

Rides the already-allowlisted btc_share_test target (build.yml lines 71/204),
so it FIRES in CI with no allowlist/drift-guard change. Test-only, btc-tree
local, no consensus / shared-base / build.yml / CMake-shared surface.

6/6 new pass; full btc_share_test 21/21 green.
@frstrtr
frstrtr merged commit c6d16f9 into master Jun 25, 2026
21 checks passed
frstrtr added a commit that referenced this pull request Jun 25, 2026
…ng coins (#496)

rest_version_signaling() gated on a hardcoded {LITECOIN,DOGECOIN} allowlist,
returning an empty object for every other coin. But BTC/DGB/BCH are also
v36-ratcheting (each wires core::version_gate / AutoRatchet: #440 BTC, #293 DGB,
#255 BCH). On those nodes the dashboard crossing banner was suppressed entirely,
so an operator could not see the V35->V36 cross — a charter #3 blind spot
(operators must see the ratchet truthfully, cross-coin).

Invert the guard to exclude only static-version coins (Dash = v16), which
genuinely have no pending transition. Coins whose sharechain stats carry no
vote data fall through to the existing empty-result path below, so the banner
stays hidden until there is real crossing state — no false banners. Web-only,
non-consensus.

Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
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