Skip to content

feat(rust): karst-derive inlined derivation pipeline#19487

Draft
theochap wants to merge 1 commit intodevelopfrom
feat/karst-pipeline-rust
Draft

feat(rust): karst-derive inlined derivation pipeline#19487
theochap wants to merge 1 commit intodevelopfrom
feat/karst-pipeline-rust

Conversation

@theochap
Copy link
Member

Summary

  • Adds kona-karst-derive, a flat, inlined OP Stack derivation pipeline that replaces the staged kona-derive architecture
  • Single Pipeline struct holds all intermediate state as fields; all derivation steps are direct method calls (no trait-based stage composition)
  • Only supports Holocene+, removing all hardfork branching: always uses channel assembler, batch validator, Fjord size limits, and Holocene frame pruning
  • Re-exports traits and error types from kona-derive for compatibility

Key simplifications vs kona-derive

kona-derive karst-derive
ChannelProvider mux (bank vs assembler) Always assembler (inline)
BatchProvider mux (queue vs validator) Always validator (inline)
BatchStream.is_active() guard Always active
FrameQueue conditional Holocene pruning Always prune
Fjord vs Bedrock MAX_RLP_BYTES_PER_CHANNEL Always Fjord (100_000_000)
Recursive signal-based reset Single flat reset() method

Test plan

  • cargo check -p kona-karst-derive compiles
  • cargo clippy -p kona-karst-derive passes with zero warnings
  • Port key unit tests from kona-derive stages
  • Integration testing with rollup node

🤖 Generated with Claude Code

@wiz-inc-a178a98b5d
Copy link

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities 4 High 1 Medium 2 Low
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total 4 High 1 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@codecov
Copy link

codecov bot commented Mar 11, 2026

Codecov Report

❌ Patch coverage is 0% with 453 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.8%. Comparing base (86f1d29) to head (d91fa2a).

Files with missing lines Patch % Lines
...ust/kona/crates/protocol/karst-derive/src/batch.rs 0.0% 139 Missing ⚠️
.../kona/crates/protocol/karst-derive/src/pipeline.rs 0.0% 79 Missing ⚠️
...st/kona/crates/protocol/karst-derive/src/frames.rs 0.0% 70 Missing ⚠️
...t/kona/crates/protocol/karst-derive/src/channel.rs 0.0% 52 Missing ⚠️
...ona/crates/protocol/karst-derive/src/attributes.rs 0.0% 42 Missing ⚠️
...kona/crates/protocol/karst-derive/src/traversal.rs 0.0% 41 Missing ⚠️
...st/kona/crates/protocol/karst-derive/src/reader.rs 0.0% 30 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #19487      +/-   ##
===========================================
+ Coverage     75.3%    75.8%    +0.4%     
===========================================
  Files          194      623     +429     
  Lines        11285    67630   +56345     
===========================================
+ Hits          8502    51269   +42767     
- Misses        2639    16361   +13722     
+ Partials       144        0     -144     
Flag Coverage Δ
cannon-go-tests-64 ?
contracts-bedrock-tests 80.2% <ø> (ø)
unit 75.2% <0.0%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...st/kona/crates/protocol/karst-derive/src/reader.rs 0.0% <0.0%> (ø)
...kona/crates/protocol/karst-derive/src/traversal.rs 0.0% <0.0%> (ø)
...ona/crates/protocol/karst-derive/src/attributes.rs 0.0% <0.0%> (ø)
...t/kona/crates/protocol/karst-derive/src/channel.rs 0.0% <0.0%> (ø)
...st/kona/crates/protocol/karst-derive/src/frames.rs 0.0% <0.0%> (ø)
.../kona/crates/protocol/karst-derive/src/pipeline.rs 0.0% <0.0%> (ø)
...ust/kona/crates/protocol/karst-derive/src/batch.rs 0.0% <0.0%> (ø)

... and 532 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant