Repository navigation
Harden HF16 finality, block production, vote relay and admin recovery - #182
Conversation
On1x
left a comment
There was a problem hiding this comment.
Reviewed the complete delta against d4fd4bc at head 8a3ea96. The signed-child parent-QC requirement correctly excludes the late-QC fallback from the two-chain commit predicate. Header budgeting/evidence selection, committed-state key refresh, bounded accepted-vote caches, HTTP-only listener and fail-closed restore boundaries are justified. Archive cursors remain monotonic across nested overlaps. Fork workflow changes retain credential and publication boundaries.
Independently ran the vote-ingress, snapshot-restore (31 cases), signing-cache, production-safety (3 checks) and archive-merge (5 cases) regressions in an isolated Docker container; all passed. Verified successful Tests workflow 40165091993 and production Docker workflow 40165092000 on this exact head. No blocking findings in this scoped review.
Limits remain as documented: extracted-method fixtures do not establish whole-node quiescence, and this review did not repeat a 21-validator fault campaign, historical replay or production upgrade.
Summary
Follow-up audit of release 4.2.0 / HF16 (#181), based on
d4fd4bcd.Fork Docker builds now skip registry login/publication; internal PR image publication and master/release workflows are unchanged. This fixes the fork CI failure before compilation without requesting credentials.
Activation time, emission policy, operation IDs and wire formats are unchanged. No production deployment or chain operation was performed.
Verification
Local native testnet build:
BUILD_TESTNET=ON,CHAIN_TESTNET_VALIDATORS=2,BUILD_CONSENSUS_TESTS=ON, Boost 1.83. Memory-heavy units used Clang with-O0 -g0; harness ASan/UBSan flags were retained. This is not an optimized full-node build.python3 tests/p2p/test_vote_ingress.py: 17 real-handler scenarios passed, also with ASan/UBSan. Baseline probe confirms quadratic dedup scanning; the eviction/interleaving regressions failed before their fixes.python3 tests/chain/test_snapshot_restore.py: 31 extracted-production-method tests passed; baseline had 16 failures.python3 tests/validator/test_signing_cache.py: passed; reverted-rotation and same-height stale-head checks fail against the release baseline.python3 tests/consensus_sim/production_safety_offline.py: 3 checks passed.node --test tests/block_log/archive_merge.test.cjs: 5 passed; nested overlap/default-end checks fail against Run chain-level tests in CI, fix block-log tooling, add HF15 agent tests #178.8a3ea96a: production-config CTest, the full N=1 testnet simulator and focused N=2 suites.8a3ea96a; fork registry login was skipped and publication disabled.Limits and remaining risks