Bootstrap reproducible verification toolchain - #7
Merged
Conversation
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.
Linked work
Closes #4
Outcome
A supported Linux x86_64 clean clone now has one command,
tools/verify.sh, that installs hash-pinned CMake/Ninja tools in an isolated cache, verifies and builds pinned libsodium 1.0.22 source, and runs the C++20 and Python protocol-vector checks through CTest.Scope
cryptographydependency and load the exact CTest-built libsodium library.No ledger transitions, networking, persistence, tokenomics, or deployment are included.
Protocol and compatibility impact
ADR 0005 integrates the strict Ed25519 provider required by ADR 0004. Protocol bytes and acceptance vectors are unchanged. The implementation now compiles against pinned libsodium headers rather than hand-declared runtime ABI symbols.
Verification
PROTOCOL_STACK_PRESET=gcc-debug tools/verify.sh: 2/2 CTest tests passed with GCC 12.2.0.PROTOCOL_STACK_PRESET=gcc-sanitizers tools/verify.sh: 2/2 passed with ASan and UBSan.PROTOCOL_STACK_PRESET=clang-debug tools/verify.sh: 2/2 passed with Clang 14.0.6.PROTOCOL_STACK_PRESET=clang-sanitizers tools/verify.sh: 2/2 passed with ASan and UBSan.git diff --cached --checkpassed.Risks and follow-up
The initial reproducible bootstrap supports Linux x86_64 and needs HTTPS on its first run. Other platforms require pinned tool artifacts and CI evidence. Issue #6 owns the next canonical ledger-transition specification slice.
Checklist
current-state.mdare accurate.