You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The project rides pre-stabilization ABIs end to end (wasmtime -W component-model-async=y, Node JSPI behind a flag, a wit-bindgen 0.57/0.59 split where the 0.57 pin tracks an undocumented internal of wasip3 0.7), and its toolchain pins are largely aspirational. For a crypto project, supply-chain gating should exist before the dependency tree grows.
Supply-chain gating: no cargo audit/cargo deny (or npm equivalent) in CI; no dependabot/renovate config. (Migrated from TODO.md.)
npm ci, not npm install (scripts/setup.sh:74, 76): lockfiles are advisory today, and jco ^1.26.0 — the release containing the heap-corruption fix the README's Findings section hangs on — is a floating caret.
setup.sh pins are aspirational: every install is guarded by have <tool>, so whatever is on PATH wins and no version is ever verified; the cargo-binstall bootstrap is curl | bash from a mutable main ref (setup.sh:46-47). Verify installed versions against the pins; pin the bootstrap. (Header doc also omits the WAC_VERSION/WASMTIME_VERSION overrides.)
SHA-pin GitHub Actions (checkout@v5, setup-node@v4, rust-cache@v2 are tag-pinned; node-version: 24 floats across 24.x, where JSPI behavior can shift).
Lockstep the wasmtime CLI and crate: setup.sh pins wasmtime-cli 47.0.1 while the crate floats within "47" (Cargo.lock resolves 47.0.2). For a pre-stable ABI these should match exactly.
Scheduled non-gating jco-browser conformance job with Chromium, so browser conformance regressions surface without anyone remembering to run just conformance-jco-browser. (Migrated from TODO.md.)
The project rides pre-stabilization ABIs end to end (
wasmtime -W component-model-async=y, Node JSPI behind a flag, a wit-bindgen 0.57/0.59 split where the 0.57 pin tracks an undocumented internal ofwasip3 0.7), and its toolchain pins are largely aspirational. For a crypto project, supply-chain gating should exist before the dependency tree grows.cargo audit/cargo deny(or npm equivalent) in CI; no dependabot/renovate config. (Migrated from TODO.md.)npm ci, notnpm install(scripts/setup.sh:74, 76): lockfiles are advisory today, and jco^1.26.0— the release containing the heap-corruption fix the README's Findings section hangs on — is a floating caret.have <tool>, so whatever is on PATH wins and no version is ever verified; the cargo-binstall bootstrap iscurl | bashfrom a mutablemainref (setup.sh:46-47). Verify installed versions against the pins; pin the bootstrap. (Header doc also omits theWAC_VERSION/WASMTIME_VERSIONoverrides.)checkout@v5,setup-node@v4,rust-cache@v2are tag-pinned;node-version: 24floats across 24.x, where JSPI behavior can shift)."47"(Cargo.lock resolves 47.0.2). For a pre-stable ABI these should match exactly.just conformance-jco-browser. (Migrated from TODO.md.)