rpc-capabilities: cherry-pick integrity + consensus code to main (unblocks bench 083) - #1194
Merged
Merged
Conversation
… Railway) Cherry-picks the integrity/consensus code path from #1170 to main so Railway rebuilds the rpc-capabilities image and starts emitting rpc_integrity_check_total, rpc_hash_mismatch_total and rpc_consensus_lag_blocks. Bench 083 rpc-reliability reads these; on main today the metrics do not exist so the leaderboard is empty. Includes: * integrity.go: rotating eth_getLogs + eth_getBalance vector checks * consensus.go: cross-provider tip tracking + hash quorum mismatches * config, probe, archive, metrics: wiring + label updates * consensus_test.go: quorum resolution tests Building rpc-capabilities and running its tests passes on this branch.
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.
Why
Bench 083 rpc-reliability shipped to dev via #1170 but its Railway harness image is built from main, and main was missing the 754 lines of integrity/consensus code. Result:
/benchmarks/rpc-reliabilityrenders empty on prod because Prom has zerorpc_integrity_check_total,rpc_hash_mismatch_totalandrpc_consensus_lag_blocksseries.What
Pulls only
harnesses/rpc-capabilities/from dev to main. No spec YAML, no site code, no other harness.integrity.go(new, 304 lines): rotatingeth_getLogs+eth_getBalancefixed-vector checks every 5 minutes per chainconsensus.go(new, 154 lines): cross-provider tip tracking and hash quorum mismatch counterconsensus_test.go(new, 144 lines): quorum resolution edge casesprobe.go,config.go,archive.go,metrics.go,main.go: label wiring,StartIntegrityLoopbootstrap, integrity metric registrationAfter merge
Railway auto-rebuilds the rpc-capabilities service in all 3 regions. Metrics start publishing on first tick. Bench needs 24h of samples to hit
expected_n=40.Test plan
go build ./cmd/script/passesgo test ./cmd/script/passes (consensus test suite)rpc_integrity_check_totalexists via Prom UIstaging-openchainbench.vercel.app/benchmarks/rpc-reliabilitysample size > 40