Repository navigation
Add source-bound Alpenglow footer facts and readers - #87
Merged
Merged
Conversation
augustin-cheron
marked this pull request as ready for review
October 23, 2026 22:49
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.
Native capture retains Alpenglow footer bytes, but current execution frames do not expose their leader time or certificate data. Add a separate, versioned
native-consensus-fact-v1format with a strict shared Rust parser, an immutable offline exporter, CLI inspection, and an opt-in Rust/Wasm JavaScript reader.Each fact binds the exact source, bank, execution frame digest and captured event sequence/hash. Raw native bytes occur once. Readers preserve exact nanoseconds, distinguish execution hashes from consensus IDs, and keep certificate targets separate from their carrying blocks. Certificates remain
captured_not_verified; reward aggregates do not set finality. The exporter checks actual v2 frame admission, rejects conflicting evidence and changed output, and commits its immutable receipt last.The new consensus records omit Tower timing fields. Existing execution entry evidence and archives remain intact: Agave 4.3.2 still requires a terminal Alpentick. The migration plan documents continuous late-evidence custody, a negotiated live profile, and the controlled new-source handoff as later deployment work. This patch does not deploy, recover capture, delete archives, or grant source-retirement authority.
Validation:
6324f2e91f685aa4f6b1d98d8536199cef5ad982: zero findings. Existing history findings remain separate.CI status: the new module-order formatting issue was corrected. Other failures also occur on unchanged main commit
b01231ce: formatting inprocessed.rsandpublisher.rs, a missing local link to the privatevalidator-tunnel/access-application.json, and 135 reachable-history scanner findings. Main baseline run: https://github.com/FernoLabs/blockzilla/actions/runs/39429692313. These checks remain enabled. The committed acceptance receipt records the baseline and local test limits; this PR is not presented as green CI or ready for production cutover.Read
docs/architecture/alpenglow-consensus-facts.mdfor the wire contract, exact removal boundary, CLI commands and production plan.