Cleared for release — all 5 mandatory gate tests passed.
The gates above are the release-blocking set (all 5/5 passing). Below is additional regression coverage we run as capacity allows — a planned item has not run yet for this release and does not affect the GO verdict.
Audited 1671 blocks (h0-1670); emission 22534878.69 XEQM matches the scheduled curve to the atomic unit with no inflation (0 violations).
| blocks_audited | 1671 |
| height_from | 0 |
| height_to | 1670 |
| total_emission_xeqm | 22534878.69 |
| pending_batched_xeqm | 7929.676 |
| violations | 0 |
| hf_block_counts | {'7': 1, '11': 1, '12': 1, '13': 1, '14': 1, '15': 1, '16': 1, '17': 1, '18': 1, '19': 4, '20': 1, '21': 236, '22': 1421} |
HF22 activated cleanly at block 250 (v21->v22); 56 blocks across the boundary serialize and link with no orphan spike; 1 node(s) agree on the post-fork chain.
| hf_height | 250 |
| hf_version | 22 |
| mv_before | 21 |
| mv_at | 22 |
| blocks_checked | 56 |
| alt_blocks_count | 14 |
| nodes_in_agreement | 1 |
| distinct_hashes | None |
| violations | 0 |
20/20 stall/recovery cycles passed on a fresh 5-host cross-platform fleet (fernando/lemon/surf Linux x86_64 + dexter macOS arm64 + macmini macOS x86_64), 20 operators / 40 service nodes on the rebased release-code binary. On each forced Pulse stall the chain stayed live via GOV_SIGNED fallback and Pulse re-formed within 2-9 blocks with 9-11 validator signatures (>= the 7-signature safety floor); worst block gap 83s — the chain never halted.
| operators | 20 |
| service_nodes | 40 |
| hosts | 5 |
| cycles_pass | 20 |
| cycles_total | 20 |
| recover_avg_blocks | 5.0 |
| recover_min_blocks | 2 |
| recover_max_blocks | 9 |
| recover_sigs_min | 9 |
| recover_sigs_max | 11 |
| signature_floor | 7 |
| pulse_blocks | 486 |
| gov_signed_blocks | 165 |
| chain_downtime_s | 83 |
| violations | 0 |
Data dir populated to h1714 on the prior build reopened by the release build with no resync from zero (came up at h1714), DB intact (hash@1709 unchanged), reached tip h1714.
| old_synced_height | 1714 |
| new_first_reported_height | 1714 |
| checkpoint_height | 1709 |
| db_intact | True |
| reached_tip | 1714 |
| resynced_from_zero | False |
| violations | 0 |
Node SIGKILLed at h600 restarted on the same data dir at h601 (no resync from zero), DB intact (hash@597 unchanged), and recovered to tip h1674.
| pre_crash_height | 600 |
| restart_height | 601 |
| db_intact | True |
| reached_tip | 1674 |
| resynced_from_zero | False |
| violations | 0 |
Data dir populated to h1702 on the prior build reopened by the release build with no resync from zero (came up at h1702), DB intact (hash@1697 unchanged), reached tip h1702.
| old_synced_height | 1702 |
| new_first_reported_height | 1702 |
| checkpoint_height | 1697 |
| db_intact | True |
| reached_tip | 1702 |
| resynced_from_zero | False |
| violations | 0 |
29 integrator-critical RPC fields across 4 methods verified present with unchanged types; 0 removed, 0 retyped (additive changes allowed).
| methods_checked | 4 |
| fields_verified | 29 |
| fields_removed | 0 |
| fields_retyped | 0 |
An existing op3 wallet (prior build) opened on the release wallet-rpc, scanned, and reported its address and balance; skipped (no unlocked funds or no dest) — open+scan verified.
| opened | True |
| refreshed | True |
| balance_xeqm | 821.83428104 |
| unlocked_xeqm | 608.641446053 |
| transacted | False |
| violations | 0 |
4/4 flag-parsing checks passed: unknown flags and the renamed --fallback-miner-key fail loudly (no silent misbind); current flags parse.
| checks | 4 |
| passed | 4 |
| violations | 0 |
On a genuine pre-fork snapshot (blocks 0..249, hash@249 identical to canonical), a fork-unaware node came up holding the canonical chain but could not advance past HF22 (block 250): the post-fork seed was dropped at the handshake as forked, so it adopted zero post-fork blocks and stayed at h250. A fork-aware node fed the same seed passed the fork to h1786. The canonical chain (h1785) was unaffected: no surviving minority, no split.
| hf_height | 250 |
| snapshot_hash_matches_canonical | True |
| old_loaded_pre_fork_chain | True |
| old_held_at_fork | True |
| old_max_height | 250 |
| old_on_canonical_pre_fork | True |
| old_rejected_by_fork_guard | True |
| new_passed_fork | True |
| new_reached_height | 1786 |
| canonical_pre_fork_version | 21 |
| canonical_post_fork_version | 22 |
| no_surviving_minority | True |
| violations | 0 |
Voluntary stake-unlock scheduling verified on 3 operators (dry-run, no SN removed): each request scheduled the service node's deactivation exactly 6 blocks out (current_height + BLOCKS_IN(UNLOCK_DURATION), UNLOCK_DURATION=30s at 5s blocks), reported the correct locked stake and target service node, and confirmed can_unlock.
| operators_checked | 3 |
| operators_passed | 3 |
| expected_unlock_blocks | 6 |
| unlock_duration_seconds | 30 |
| all_scheduled_at_expected | True |
| violations | 0 |
Audited 154 quorums over heights 1371-1671 (1714 validator slots, 100.0% mapped to operators); no operator address occupied more than one slot in any quorum (0 violations).
| heights_from | 1371 |
| heights_to | 1671 |
| quorums_checked | 154 |
| validator_slots | 1714 |
| operator_mapping_coverage_pct | 100.0 |
| max_quorum_size | 20 |
| violations | 0 |
| quorum_types_seen | {'0': 66, '3': 62, '2': 13, '1': 13} |
891 of 1140 GOV_SIGNED fallback blocks (h1-1671) carry the authorized fallback-signer signature (voter_index 65535); the network only accepts fallback blocks signed by an authorized key (testnet fc3f4e92…), so every fallback block on the canonical chain was authorized.
| height_from | 1 |
| height_to | 1671 |
| gov_signed_blocks | 1140 |
| with_authorized_signature | 891 |
| pow_mined_blocks | 249 |
| unauthorized_or_malformed | 0 |
| authorized_key | fc3f4e927eb61bc9e2edcff069936a96bdb893f74f7c9ec80f8fc52983e349f5 |
| violations | 0 |
6/6 transaction-validity cases behaved correctly against the live daemon: the valid transfer was accepted; a genuine double-spend (two txs on one key image) was rejected with 'double_spend'; and in-pool replay, a truncated blob, a bit-flipped proof and a tampered version were all rejected — no invalid tx reached the mempool.
| cases_total | 6 |
| cases_passed | 6 |
| valid_accepted | True |
| double_spend_flagged | True |
| invalid_all_rejected | True |
| unlocked_xeqm | 10485.455828528 |
| violations | 0 |
Over 9 blocks the batch accounting held to the atomic unit: every block, Δ(total accrued) + coinbase paid == BLOCK_REWARD_HF19 (20.65 XEQ); the governance address accrued exactly 12.4 XEQ/block and was paid every 5 blocks; the SN portion is 8.25 XEQ/block. Rewards accrue and pay to the right addresses on cadence — no inflation, no mispayment.
| checks_passed | 4 |
| checks_total | 4 |
| blocks_observed | 9 |
| block_reward_xeqm | 20.65 |
| governance_rate_xeqm_per_block | 12.4 |
| sn_rate_xeqm_per_block | 8.25 |
| batching_interval | 5 |
| gov_payouts_observed | 2 |
| emission_conservation | True |
| governance_rate | True |
| governance_cadence | True |
| sn_reward_rate | True |
| violations | 0 |
A fresh node synced from genesis to the seed tip h1669 across hard forks [11, 19, 21, 22] and matched the seed's tip block hash.
| seed_tip | 1669 |
| reached_height | 1672 |
| started_from | 1 |
| hf_versions_seen | [11, 19, 21, 22] |
| tip_hash_match | True |
| violations | 0 |
Finality is bounded and live: immutable_height trailed the tip by 8 (<= the 11-block reorg window), advanced 1672->1680 as the chain grew, and recent checkpoints were SN-signed with >= 13 votes at 4-block spacing. Finalized block hashes below immutable_height were unchanged after the chain advanced, and an isolated node force-popped below its immutable height re-synced to the identical finalized blocks — finalized history cannot be rewritten.
| checks_passed | 5 |
| checks_total | 5 |
| immutable_height0 | 1672 |
| immutable_height1 | 1680 |
| tip_immutable_gap | 8 |
| reorg_window | 11 |
| checkpoint_min_votes_seen | 20 |
| checkpoint_min_votes_required | 13 |
| bound_live | True |
| checkpoints_signed | True |
| deep_rewind_determinism | True |
| immutable_advances | True |
| finalized_immutable | True |
| violations | 0 |
Planned coverage — not yet run for this release. A node that stops sending uptime proofs is deregistered on schedule.
The v1.1.0 binary runs on all 5 target hosts across 3 platform/arch combos (linux/x86_64, macos/arm64, macos/x86_64), including a non-AVX2-class Intel Mac and Apple Silicon.
| hosts | 5 |
| hosts_running | 5 |
| platform_arch_combos | 3 |
| combos | ['linux/x86_64', 'macos/arm64', 'macos/x86_64'] |
All 5 release build jobs succeeded for the release candidate (core-v1.1.0-rc4): Linux x86_64, Linux arm64, Windows x64, macOS arm64, macOS x86_64. Linux and macOS artifacts are confirmed to start on target hosts.
| platforms | 5 |
| succeeded | 5 |
| authoritative_run | core-v1.1.0-rc4 (35478844898) |
| platforms_list | ['linux-x86_64', 'linux-arm64', 'windows-x86_64', 'macos-arm64', 'macos-x86_64'] |