fix(op-e2e): make Holocene activation proof test non-trivial#20023
Merged
sebastianst merged 4 commits intodevelopfrom Apr 14, 2026
Merged
fix(op-e2e): make Holocene activation proof test non-trivial#20023sebastianst merged 4 commits intodevelopfrom
sebastianst merged 4 commits intodevelopfrom
Conversation
The test was running RunFaultProofProgramFromGenesis with safe head at block 0, making the proof trivially pass over genesis. Now batch-mines and syncs past the activation boundary so the proof runs over the actual Holocene activation block (block 14). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fix holocene_batches_test and holocene_frame_test: when disordered batches/frames cause the channel to be dropped (safe head = 0), build a new block and rebatch so the FPP runs on a non-trivial safe head. For holocene_invalid_batch_test, the blocks themselves have intentionally invalid contents (over-advanced L1 origin, sequencer drift breach), so rebatching them produces the same invalid result. In those cases, skip the proof with a log message. The Holocene variants of these tests advance the safe head and do run the proof. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #20023 +/- ##
===========================================
+ Coverage 0 76.7% +76.7%
===========================================
Files 0 505 +505
Lines 0 64053 +64053
===========================================
+ Hits 0 49154 +49154
- Misses 0 14899 +14899
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Rebatching glosses over the invalid range and doesn't test that the derivation pipeline correctly dropped the problematic data. Instead, skip the FPP with a log message when safe head is at genesis, matching the approach in holocene_invalid_batch_test. Filed #20050 to track running the FPP and asserting no new blocks are produced over the dropped range. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
joshklop
approved these changes
Apr 13, 2026
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.
Summary
Several Holocene proof action tests were running
RunFaultProofProgramtrivially on the genesis block (block 0), giving no real proof coverage:holocene_activation_test:RunFaultProofProgramFromGenesiscalled with safe head at 0. Now batch-mines past the activation boundary and runsRunFaultProofProgramon block 14 (the Holocene activation block).holocene_batches_test,holocene_frame_test,holocene_invalid_batch_test: when the derivation pipeline correctly drops invalid/disordered batches or frames, safe head stays at 0. These now skip the FPP with a log message rather than running a trivial proof. Rebatching was considered but rejected — it glosses over the problematic range and doesn't test the drop behavior.Filed #20050 to track the proper fix: running the FPP over the genesis range and asserting derivation produces no new blocks.
Test plan
Test_ProgramAction_HoloceneActivation— both subtests passTest_ProgramAction_HoloceneBatches— all subtests pass (20/20)Test_ProgramAction_HoloceneFrames— all subtests pass (16/16)Test_ProgramAction_HoloceneInvalidBatch— all subtests pass (24/24)🤖 Generated with Claude Code