Record the M3.13d delivery and the next slice - #215
Merged
Conversation
The version-seven transport is merged and a version-seven application answers over a Unix socket. The handoff records why there is no new frame format and no second connection loop, that the `V1` in `UnixSocketServerV1` names the wire rather than the ledger, why every response is validated on the way out, and the two probes that found missing tests — including a socket test that aborted instead of reporting, which is the pattern to check for wherever a thread outlives an assertion. The next action is M3.13e, `decode_genesis` and the version-seven server binary, and the entry records the obstacle in front of it: version one's binary hands genesis *bytes* to its store, while version seven's store takes a struct and version seven publishes `encode_genesis` with no inverse. The canonical encoding is 110 octets, which the store's own schema already asserts, so the decoder's round trip against the encoder is the property to test.
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.
Documentation only.
docs/project/current-state.md, no source, build, workflow,or vector change, so this is the focused metadata verification path.
What it records
mainacrosscc8b9c0..115c295, and a version-seven application answers over a real Unixsocket.
connection loop, that the
V1inUnixSocketServerV1names the wire ratherthan the ledger, what the finalize response carries that version one's does
not, why every response is validated on the way out, and the explicit tagged
chain-identity conversion that must not be "fixed" by loosening a type.
keeping: a socket test that aborted rather than failed, because an
assertion inside the client block left the server thread unjoined and
std::thread's destructor calledstd::terminate. A test that aborts insteadof reporting is one that will eventually hide a real failure.
that there is no version-seven wire, where the shared loop lives, or that the
finalize payload puts the block identifier after the state root.
The next slice
M3.13e,
decode_genesisand the version-seven server binary, with theobstacle stated rather than left to be met: version one's binary reads a genesis
file and hands the bytes to its store, while
create_sqlite_ledger_v7takes av7::Genesisstruct and version seven publishesencode_genesiswith noinverse. The canonical encoding is 110 octets — the store's own
ledger_meta_v7schema asserts exactly that — so a decoder over those octets isthe natural answer and its round trip against the encoder is the property to
test. The entry also carries what version one's
--genesis-identitymode printsand why the socket pathname bound matters.
Verification
python3 -B tools/verify_metadata.py— 5 repository skills and 264 internalMarkdown links validated.
git diff --checkclean. The hosted focused metadatapath is the gate for this exact commit.