Skip to content

bch: add G3a populated-block gate entrypoint (test-only; CI wiring follows separately) - #636

Merged
frstrtr merged 1 commit into
masterfrom
bch/g3a-ci-gate
Jul 4, 2026
Merged

bch: add G3a populated-block gate entrypoint (test-only; CI wiring follows separately)#636
frstrtr merged 1 commit into
masterfrom
bch/g3a-ci-gate

Conversation

@frstrtr

@frstrtr frstrtr commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Adds tests/gates/bch_g3a_regtest_block_production.sh — a coin-specific G3a populated-block gate entrypoint.

SCOPE (rescoped per integrator, option a): entrypoint script ONLY. Fenced test-only additive — one file, zero consensus / shared-base / build.yml / CMake / other-coin surface.

CONSISTENCY: tests/gates/ already exists on master with two sibling gate entrypoints (g1_byte_parity_kat.sh, g3a_regtest_block_production.sh). None of them — nor any dash/btc/dgb g3a — are referenced from .github/ today. This PR follows that existing precedent; it does not introduce a novel unwired location.

CI arm (network-free): ctest -R over the 5 in-process COIN_BCH harnesses. False-green guard demands positive test count AND full 5/5 match.

Live arm: opt-in via BCH_RPC_PASS+BCH_RPC_AUTH, drives the already-merged scripts/bch_g3a_populated_block_regtest.py harness (A1-A7).

FOLLOW-UP (option b, separate PR): a workflow job that invokes the tests/gates/ family in CI. That touches shared build surface -> exceptional-change review path, wiring all entrypoints (g1 + generic g3a + bch g3a) together.

@frstrtr frstrtr changed the title bch: G3a populated-block CI required-gate entrypoint bch: add G3a populated-block gate entrypoint (test-only; CI wiring follows separately) Jul 4, 2026
frstrtr added a commit that referenced this pull request Jul 4, 2026
… follows separately)

Companion to the G3a gate (#636). Fenced tests/gates/ entrypoint over existing
COIN_BCH targets — zero consensus / shared-base / build.yml / CMake / other-coin
surface. CI arm (network-free) proves the pool-side activation semantics via three
in-process CHECK-harnesses: g2_ratchet_gate_kat (60%-by-work version SWITCH),
cashtokens_transparency (Upgrade9 feature template carry), coinbase_author_kat
(version-gated donation author). False-green guard demands a positive count and a
full 3/3 match. Optional live arm (opt-in via BCH_UPGRADE9_HEIGHT) drives
scripts/bch_g3b_genuine_activation_regtest.py for the consensus-side boundary:
CashToken FT-genesis HARD-REJECTED pre-activation, ACCEPTED post-activation.
Mirror the DASH tests/gates/ G3a pattern for BCH: a fenced, deterministic
gate over the existing COIN_BCH in-process CHECK-harnesses so G3a counts as
a named CI required-gate (network-free CI arm) with an opt-in live regtest
arm.

CI arm (network-free): ctest over bch_embedded_daemon_assembly_test (block
assembled from the real EmbeddedCoinNode seam), bch_embedded_block_broadcast_test
(won block reaches network on both P2P + submitblock paths), bch_block_ordering_test
(CTOR), bch_cashtokens_transparency_test (FT/NFT transparent carry),
bch_coinbase_kat_bytevector_test (no-witness SHA256d coinbase). False-green guard
demands a positive count AND the full expected set matched.

Live arm (opt-in via BCH_RPC_PASS + BCH_RPC_AUTH): drives the already-merged
scripts/bch_g3a_populated_block_regtest.py against an isolated regtest BCHN for
the full A1-A7 attestation.

Fenced: tests/gates/ entrypoint over existing targets; no consensus, shared-base,
build.yml, CMake, or other-coin surface.
@frstrtr
frstrtr force-pushed the bch/g3a-ci-gate branch from ee3c7d8 to 0ad0f31 Compare July 4, 2026 11:16
@frstrtr
frstrtr merged commit 5c5af19 into master Jul 4, 2026
32 of 33 checks passed
frstrtr added a commit that referenced this pull request Jul 4, 2026
… follows separately) (#639)

Companion to the G3a gate (#636). Fenced tests/gates/ entrypoint over existing
COIN_BCH targets — zero consensus / shared-base / build.yml / CMake / other-coin
surface. CI arm (network-free) proves the pool-side activation semantics via three
in-process CHECK-harnesses: g2_ratchet_gate_kat (60%-by-work version SWITCH),
cashtokens_transparency (Upgrade9 feature template carry), coinbase_author_kat
(version-gated donation author). False-green guard demands a positive count and a
full 3/3 match. Optional live arm (opt-in via BCH_UPGRADE9_HEIGHT) drives
scripts/bch_g3b_genuine_activation_regtest.py for the consensus-side boundary:
CashToken FT-genesis HARD-REJECTED pre-activation, ACCEPTED post-activation.

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