feat(node): wire opt-in parent-state multiproof experiment - #48
Draft
dghelm wants to merge 10 commits into
Draft
Conversation
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.
Wires opt-in
dogeos_getProofsfrom adapter #16 into the rollup node.--rpc.experimental-multiproofdefaults off, follows each transport's Eth selection, rejects registration collisions, and stays separate from the authenticated Engine endpoint.All compact dependency manifests, lockfile sources and the source guard pin published adapter commit
4e2b66dd9f0790ad854cac4fb34ac338cf9d6afa. There are no path overrides, registry upgrades or underlying Reth/revm pin changes.Adds real-node proof fixtures and a retained Tsuki range producer with transfers, contract creation and storage writes. Test-utils observer injection uses the existing single registration hook. A file-control barrier waits for observer idle and acquires all configured shared proof permits, snapshots under those guards, then releases them before acknowledging. Uncertain work or a barrier timeout permanently poisons fixture reuse. Separate ordinary/shared provider baselines join their worker and use one frozen state/root with the actual target vector exported by the core runner.
Companion core experiments retain the performance tradeoffs:
The job experiment reuses the same sealed node executable and 25 proof permits. All 576 final chunks, 144 group barriers, exact artifact comparisons, process/memory accounting and host-pressure gates pass. Both nodes stop cleanly and pass read-only retained-DB checks at heads 97 and 129. This measures subprocess pipeline throughput; production coordinator leases, artifact publication and deployed-service throughput remain unvalidated. Earlier experiment-specific host-pressure and CPU-quantization caveats remain in their reports.
Validation against published Git sources: the optimized node fixture suite passes six tests, with four opt-in tests ignored; dependency-source guard and all 14 rejection fixtures pass. Independent review approves source and experiment evidence. The measured node executable is built from
1d98600357f81c692b05be1ca3d4a050b58478db; subsequent fixture-only commit317512a0834e0c1929f435b0288d9e62a4c99b49fixes six Clippy diagnostics after measurement.CI on
317512apasses Clippy, formatting and unit tests. Two integration failures remain undiagnosed:requeues_transactions_after_update_fcs_headhits a Rethnippy-jarslice-index panic followed by an event timeout;docker_test_remote_block_source_recoveryfails to make the L2 node ready after 30 attempts. Integration job, Docker Compose integration job.Results and reproduction: job scaling results, job scaling runbook, optimized Individual results, multiproof overlap results.
Related draft: core #1090, stacked on core #1081. External synced-state qualification, bridge workloads and historical RPC replay after restart remain future work.