Repository navigation
Conversation
Contributor
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 59 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
snawaz
marked this pull request as ready for review
October 26, 2026 16:49
snawaz
force-pushed
the
refactor/committor-transaction-plan
branch
3 times, most recently
from
October 26, 2026 20:18
e88d0f7 to
c64fe6b
Compare
Represent settlement as a current transaction and an optional follow-up instead of SingleStage and TwoStage plan variants. Keep the existing task order, transaction selection, resource limits, and confirmed-commit resume behavior. Rename follow-up task builders that no longer perform finalization. Replace stage-specific output and preparation/execution errors with common records. Track prepared, submitted, rejected, and confirmed transactions, including the signature of an earlier confirmed commit. Use that progress to prevent fresh retries of confirmed work or unresolved submissions, while retaining stricter retry rules for action-only execution failures. Share signature collection between reporting and CU metrics. Preserve known signatures when preparation or reporting fails, and deduplicate the commit signature when an empty follow-up reuses its result. Convert the existing stored outbox stages at a small boundary so accepted intents remain recoverable without changing their encoding or transition checks. Leave recovery patchers and legacy DLP recovery for their follow-ups. Adapt existing planning, execution, and error tests. Extend the lifecycle matrix to cover signature reporting and a confirmed commit with an empty follow-up, without adding a separate test harness. Validation: make fmt; cargo check -p magicblock-committor-service --tests; the intent_execution_preserves_recovery_and_completion test (18 cases); git diff --check. Closes #1840.
Capture the completion report passed to the outbox instead of reconstructing a separate report in the lifecycle test. Check the actual reported signatures and retain direct progress assertions for failures that intentionally leave the outbox open. Remove the basic combined-plan test already covered by the delivery-format matrix. Fold the single-use CPI-limit predicate into the split-recovery predicate without changing which errors permit a split. Validation: cargo fmt; cargo check -p magicblock-committor-service --tests; cargo test -p magicblock-committor-service intent_execution_preserves_recovery_and_completion -- --nocapture; git diff --check.
snawaz
force-pushed
the
refactor/committor-transaction-plan
branch
from
October 28, 2026 10:17
c64fe6b to
8655c8b
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.
What changed
Replace SingleStage/TwoStage plans with a current transaction and an optional follow-up. Results and errors share execution progress and signature reporting.
Closes #1840.
Impact
Retries use transaction progress: confirmed work and unresolved submissions cannot restart. Action-only execution keeps stricter retry rules. Empty follow-ups no longer duplicate signatures or CU metrics.
The stored outbox encoding, transaction selection, and resource limits stay unchanged. Recovery-patcher cleanup follows in #1841.