apollo_consensus_orchestrator: verify retrospective state commitment infos before proposing - #14895
apollo_consensus_orchestrator: verify retrospective state commitment infos before proposing#14895yoavGrs wants to merge 1 commit into
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR SummaryMedium Risk Overview
Reviewed by Cursor Bugbot for commit 0b53933. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 25c4d6e. Configure here.
…infos before proposing Before proposing at height H, require that the commitment infos of the next height's retrospective block, H + 1 - STORED_BLOCK_HASH_BUFFER, are stored on the batcher or on the cende recorder. Height H's blob carries the commitment-info delta the recorder is missing and is written to the recorder when height H + 1 is built, so either source having the infos now guarantees the recorder has its retrospective block's commitment infos when the next height is built. The batcher is queried at the retrospective height itself rather than by a height offset: apollo storage doesn't guarantee the commitment infos of every height are stored (e.g. blocks added via sync), so the latest stored height says nothing about lower heights. The recorder's storage is contiguous, so its height offset is used. A single check, no retries: if the infos are missing on both sources the build fails. When the batcher doesn't have the infos and the recorder has stored none at all the validation is skipped with a warning: they will never exist for pre-feature blocks, and requiring them would block proposing forever. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
dd730c3 to
74720f0
Compare
25c4d6e to
0b53933
Compare


Before proposing at height H, query the batcher's and the cende
recorder's commitment infos height offsets and require that at least
one of them has stored the commitment infos of the next height's
retrospective block, H + 1 - STORED_BLOCK_HASH_BUFFER. Height H's blob
carries the commitment-info delta the recorder is missing and is
written to the recorder when height H + 1 is built, so either source
having the infos now guarantees the recorder has its retrospective
block's commitment infos when the next height is built.
A single check, no retries: if the infos are missing on both sources
the build fails.
When neither side has stored any commitment infos at all the
validation is skipped with a warning: they will never exist for
pre-feature blocks, and requiring them would block proposing forever.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com