fix: make superblock checkpoints atomic - #82
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe pacemaker now sends simulation messages before sequencer messages. Non-superblock slots use the existing block message. Superblock slots use a guarded checkpoint message. The runtime message contract carries the block and barrier guard. The sequencer finalizes the block, pauses scheduling, acknowledges the barrier, and resumes after release. Documentation describes the atomic checkpoint behavior. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
@CodeRabbit review |
✅ Action performedReview finished.
|
What changed
Closes #81
Impact
Prevents concurrent transaction submission from producing leader and follower seals over different state prefixes. Adds an internal
SequencerMessage::Checkpointvariant without changing replication, ledger, or persistence formats.Reviewer notes
The execution-channel position of
Checkpointis the cutoff: earlier transactions are finalized into the block and snapshot, while later transactions remain queued until snapshot creation and seal append complete.