ck: continuity golden vectors + C/Rust decode agreement, cut 2 of #222 [host PASS] - #236
Merged
Merged
Conversation
Test-only Rust emitter (continuity_vectors.rs) writes D-1 golden vectors (bytes + ObjectIds) and D-2 per-bit-flip decode verdicts as plain-text fixtures; a Rust test fails if they drift. The C host test reproduces every byte, ObjectId and verdict. New mutants: unchecked fork-count sum, manifest WAL id 63, skip D-1, skip D-2. Contract and GATES.md updated (host PASS only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 1, 2026
Owner
Author
|
VERDICT: merge 4783df7
|
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.
Cut 2 of #222 (continuity C port). Host tests only: no QEMU, no kernel wiring, Store and disk code untouched. Contract status stays SPEC.
What changed
crates/aienos-kernel/src/continuity_vectors.rs(test-only,cfg(test), no kernel behaviour change): emits D-1 golden vectors (22 vectors: AgentRoot both sources, manifests with 0/1/64 WAL ids + a seq-2 one, AgentState genesis/depth 1/depth 2, WAL status 1..6 x len 1/1024, a hostile fork-sum-overflow state, 5 branch ids) and D-2 verdicts (Rust verdict of every vector and every single-bit flip, class and reason text).native/kernel/tests/fixtures/continuity_vectors.txt,continuity_verdicts.txt. Regenerate:AIENOS_CONTINUITY_VECTORS_REGEN=1 cargo test -p aienos-kernel --lib continuity_vectors. Without the variable the Rust test fails if a fixture differs from freshly emitted bytes (checked by hand-tampering a fixture: FAILED as expected).test_continuity_codec.c: reads the fixtures at run time (argv[1] or MakefileCC_FIXTURE_DIR), reproduces every byte and ObjectId (cc_object_idandsv1_object_id), decode-then-encode identity, replays all 86598 D-2 verdicts, refuses tampered bytes / ObjectId / verdicts. Existing checks untouched.continuity-mutants: UNCHECKED_FORK_SUM, MANIFEST_LAST_WAL_ZERO (only the vectors see it), SKIP_D1, SKIP_D2 (test counts its comparisons, so skipping is a FAIL).cc_state_validate(comment-only).Findings
deferredlines but not checked; the C codec has no challenge/HMAC code.Evidence (head 4783df7)
Logs: /tmp/cut2logs/ on the Spark (mut_final.log, cargo_final.log, maketest.log, san.log).
Co-authored with Claude. Not merged.
🤖 Generated with Claude Code