Skip to content

fix(checksums): restore wsc wasm_component platform (unbreaks wasm_signing tree) - #499

Merged
avrabe merged 2 commits into
mainfrom
fix/wsc-wasm-component-registry
Jun 13, 2026
Merged

fix(checksums): restore wsc wasm_component platform (unbreaks wasm_signing tree)#499
avrabe merged 2 commits into
mainfrom
fix/wsc-wasm-component-registry

Conversation

@avrabe

@avrabe avrabe commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Problem (pre-existing breakage on main)

@wasmsign2_cli_wasm is a wasm_component_download(tool_name="wsc", version="0.7.0"), which resolves only the wasm/wasm_component platform. The wsc bump to per-OS binaries (#471) migrated checksums/tools/wsc.json to per-platform binary entries and dropped the wasm CLI-module entry, so the fetch fails:

Error in fail: Tool 'wsc' version '0.7.0' not found in registry. Check //checksums/tools/wsc.json (tried platforms: wasm, wasm_component)

This cascades into analysis failures for //tools/wasmsign2_wrapper:* and the entire //examples/wasm_signing:* tree on every PR. It landed uncaught because the Test workflow triggers on pull_request, not on main pushes.

Fix

Restore the wasm_component platform entry for 0.7.0 (currently pinned), pointing at the wsc-cli.wasm asset — the WASI CLI module the wrapper executes via wasmtime run <wasm> <command>. (Note: wsc-component.wasm fetches but is a component that wasmtime run can't launch as a command module — the wrapper needs the CLI module.) Checksum verified against the authoritative pulseengine/sigil .sha256 sidecar: a57139921f87e91282f22f788155177eadf2085e21a7f2f8ceb8d9fac1c761ef.

0.9.0 is intentionally not given a wasm entry: it ships only wsc-component.wasm (no CLI module), so bumping the pin past 0.7.0 requires the wrapper to handle the component form — tracked in #498.

Verification

bazel build //examples/wasm_signing:example_keys — fetches wsc-cli.wasm and runs wasmsign2_wrapper keygen, generating a key pair. (Verified at the run level, not just the fetch.)

Unblocks the red Test on {ubuntu,macos}-latest jobs that also fail on #497. Found during an automated issue-hunt/version-check pass; related to upgrade-tool tracking issue #498.

🤖 Generated with Claude Code

…gning)

The wsc bump to per-OS binaries (#471) replaced wsc.json's universal
wasm-component entry with per-platform binaries, dropping the
`wasm_component` platform. But `@wasmsign2_cli_wasm` is a
wasm_component_download(tool_name="wsc") that resolves only the
`wasm`/`wasm_component` platform, so it failed to fetch:

    Error in fail: Tool 'wsc' version '0.7.0' not found in registry
    (tried platforms: wasm, wasm_component)

This cascaded into analysis failures for //tools/wasmsign2_wrapper and the
entire //examples/wasm_signing tree on every PR (the Test workflow runs on
pull_request, not on main pushes, so it landed uncaught).

Restore the `wasm_component` platform for 0.7.0 (pinned) and 0.9.0 (latest),
pointing at the wsc-component.wasm asset. Checksums verified against the
authoritative pulseengine/sigil release .sha256 sidecars:
  0.7.0  15efa8033741c4613165ae49b002847df9afcc27af876778884c79aaea4d45b2
  0.9.0  b40f70180a3c448b2f2fef21f42966c43a6cc11a7d5796db89de7abf969a1ba4

Verified locally: `bazel build //tools/wasmsign2_wrapper:wasmsign2_wrapper`
now fetches wsc-component.wasm and builds successfully.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ntry

Correcting the prior commit: I pointed the wasm_component platform at
wsc-component.wasm, which fetches but is a *component* that
`wasmtime run <wasm> keygen ...` cannot execute as a command module:

    Error: failed to run main module `.../wasmsign2.wasm`

The wrapper runs the WASI *CLI* module. v0.7.0 ships both wsc-cli.wasm and
wsc-component.wasm; the pre-#471 registry used wsc-cli.wasm. Point 0.7.0 at
wsc-cli.wasm (sha a57139921f87e91282f22f788155177eadf2085e21a7f2f8ceb8d9fac1c761ef,
verified against the pulseengine/sigil sidecar).

Drop the 0.9.0 wasm_component entry: v0.9.0 ships only wsc-component.wasm (no
CLI module), so the current wrapper can't run it. Nothing fetches 0.9.0 (the
pin is 0.7.0); bumping past 0.7.0 needs the wrapper to handle the component
form (tracked in #498).

Verified by RUNNING it: `bazel build //examples/wasm_signing:example_keys`
fetches wsc-cli.wasm and successfully generates a key pair via the wrapper.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@avrabe
avrabe merged commit dfe79d6 into main Jun 13, 2026
26 checks passed
@avrabe
avrabe deleted the fix/wsc-wasm-component-registry branch June 13, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant