Re-audit 2026-05-29 (PR #7). The perpetuity guarantee (Rust↔TS byte-identity, schema v1 immutable) is not enforced by CI.
- (a) cross-impl gate is a no-op by default:
ts-rust-parity — the only job comparing Rust WASM output against the deployed vl/app TS reference — is gated behind vars.TS_RUST_PARITY_ENABLED (unset) at .github/workflows/ci.yml:63, and ci-gate scores skipped as PASS (ci.yml:143-145). So Rust↔TS byte-identity is verified by nothing in default CI; intra-repo jobs only prove self-consistency vs frozen vectors.
- (b) golden vectors are not frozen:
scripts/generate-vectors.ts:56 overwrites the committed vectors/v4-codec.json with no diff/equality gate, and the generator source has forked from the committed JSON.
Decision D1: frozen golden vectors become the self-contained cross-impl oracle (captured from the canonical TS reference at a pinned vl/app SHA); add a CI freeze-gate (generator diffs vs committed JSON, fails on mismatch); both Rust and TS assert against them; demote live vl/app parity to opt-in advisory.
Pre-publish blocker (not a merge blocker). Source: 43-agent audit, dimensions ci-gate + perpetuity-parity.
Re-audit 2026-05-29 (PR #7). The perpetuity guarantee (Rust↔TS byte-identity, schema v1 immutable) is not enforced by CI.
ts-rust-parity— the only job comparing Rust WASM output against the deployed vl/app TS reference — is gated behindvars.TS_RUST_PARITY_ENABLED(unset) at.github/workflows/ci.yml:63, andci-gatescoresskippedas PASS (ci.yml:143-145). So Rust↔TS byte-identity is verified by nothing in default CI; intra-repo jobs only prove self-consistency vs frozen vectors.scripts/generate-vectors.ts:56overwrites the committedvectors/v4-codec.jsonwith no diff/equality gate, and the generator source has forked from the committed JSON.Decision D1: frozen golden vectors become the self-contained cross-impl oracle (captured from the canonical TS reference at a pinned vl/app SHA); add a CI freeze-gate (generator diffs vs committed JSON, fails on mismatch); both Rust and TS assert against them; demote live vl/app parity to opt-in advisory.
Pre-publish blocker (not a merge blocker). Source: 43-agent audit, dimensions ci-gate + perpetuity-parity.