Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #18877 +/- ##
===========================================
+ Coverage 75.3% 76.7% +1.4%
===========================================
Files 193 536 +343
Lines 11256 70185 +58929
===========================================
+ Hits 8476 53890 +45414
- Misses 2636 16295 +13659
+ Partials 144 0 -144
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
dbd4a5d to
b3cc0c5
Compare
202c138 to
c3678b7
Compare
9faafc4 to
2bed6e4
Compare
61c60b7 to
d5a9cad
Compare
pcw109550
reviewed
Feb 3, 2026
Member
pcw109550
left a comment
There was a problem hiding this comment.
Left a few comments about the tradeoff, by losing the type info. Also added some possible runtime mitigations.
Contributor
|
This pr has been automatically marked as stale and will be closed in 5 days if no updates |
d5a9cad to
e87072b
Compare
2bed6e4 to
6ec98b0
Compare
e87072b to
d8ce535
Compare
6ec98b0 to
695107d
Compare
d8ce535 to
9170b7a
Compare
695107d to
11683dd
Compare
d6e069c to
ccec525
Compare
70bbf33 to
1951b87
Compare
ccec525 to
b705f55
Compare
1951b87 to
d07dc89
Compare
ajsutton
reviewed
Mar 4, 2026
ajsutton
approved these changes
Mar 4, 2026
Contributor
ajsutton
left a comment
There was a problem hiding this comment.
LGTM. Just remove the re-added files under the top level kona directory. They all seem to already exist under rust/kona
ee39178 to
b4a8902
Compare
b4a8902 to
54f44ab
Compare
Complete the ID type system refactor by removing all backward compatibility
code. All code now uses ComponentID directly with typed constructor functions.
Changes:
- Remove 19 type aliases from component_id.go (L1ELNodeID, L2BatcherID, etc.)
- Remove Kind = ComponentKind alias
- Update KindProvider interface to use ComponentKind return type
- Update context.go functions to use ComponentKind instead of Kind
- Fix test files using incorrect constructor patterns
The type system is now fully unified:
- Single ComponentID type with kind, shape, key, and chainID fields
- Typed constructors (NewL2BatcherID, NewL2ELNodeID, etc.) return ComponentID
- ComponentKind enum for type discrimination
- Simplified Matcher[E] interface with single type parameter
54f44ab to
2c16364
Compare
2c16364 to
e59baa9
Compare
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
Phase 6 completes the devstack ID refactor by fully removing backward-compatibility ID aliases and using a single
stack.ComponentIDmodel everywhere.This revision also includes follow-up compatibility fixes to keep CI healthy after the alias removal.
Why
Earlier phases kept temporary aliases so code could migrate incrementally. This PR removes that compatibility layer to finish the migration and reduce long-term complexity.
What Changed
op-devstack/stack/id.go.ComponentID.ComponentID.stack.*IDaliases.NewL1ELNodeID,NewL2ELNodeID, etc.), with those constructors now returningComponentIDdirectly.sysgo.WithFaucetsnow validates input kinds and shape early.stack.*IDtypes tostack.ComponentID.stack.ConductorKindusage withstack.KindConductor.stack.ComponentID.Breaking Change
This removes old alias types (for example
stack.L1ELNodeID,stack.L2ELNodeID,stack.L2BatcherID, etc.). Callers should usestack.ComponentIDand typed constructors.Validation
make lint-gogo test ./op-devstack/stack -run '^$'go test ./op-devstack/sysgo -run '^$'go test -tags=ci -short ./op-devstack/dsl/... ./op-devstack/dsl/contract/...cd op-acceptance-tests && just cmd-checkcd op-acceptance-tests && go test -v -c -o /dev/null $(go list -f '{{if .TestGoFiles}}{{.ImportPath}}{{end}}' ./tests/...)go test -tags=ci -c ./op-validator/pkg/validationsgo test -tags=ci -c ./op-deployer/pkg/deployer/bootstrapRelated