Skip to content

checksum_updater: support PulseEngine universal-wasm tools + surface stale pins #498

Description

@avrabe

The weekly checksum updater (tools/checksum_updater) auto-updates only per-OS-binary tools (wasm-tools, wit-bindgen, wac, wasi-sdk, nodejs, wkg, tinygo). Every PulseEngine-owned tool is excluded and falls back to manual edits, so their pins silently drift. This issue tracks making the updater actually work for them.

Why they're excluded today

tool_config.rs only models StandardTarball / SingleBinary / Custom URL patterns keyed by per-OS platform. The PulseEngine tools are universal-wasm components with unstable, changing asset names:

Tool Registry latest Pinned (MODULE.bazel) Released latest Note
loom 0.3.0 0.3.0 v1.1.13 v0.3.0 is the last release shipping loom.wasm; v1.x ship only compliance reports → blocked upstream (pulseengine/loom#142)
wsc 0.9.0 0.7.0 v0.9.2 asset renamed wsc-cli.wasmwsc-component.wasm; now also ships per-platform CLIs. Pin lags registry
wasmsign2-cli 0.2.7-rc.2 none no GitHub releases (tag/CI only)
file-ops-component 0.2.0 0.2.0 v0.2.0 current ✅

Concrete gaps / work

  1. Add a universal-wasm UrlPattern (single wasm/wasm_component platform, url_suffix is the asset name, no per-OS mapping) and register the PulseEngine tools in ToolConfig::new() instead of the silent "fallback" comment.
  2. Per-release asset-existence filtering: skip a release that doesn't carry the expected asset (loom v1.x has none) instead of blindly taking latest_version. Otherwise loom would resolve to v1.1.13 and fail.
  3. Surface stale pins: the updater should flag when MODULE.bazel's version pin lags the registry's latest_version (wsc: pinned 0.7.0 vs registry 0.9.0).
  4. wsc pin bump 0.7.0 → 0.9.x needs a CLI-compat check of wasm_signing / wsc_attestation wrappers before bumping (asset was renamed and per-platform CLIs added).
  5. Document the upgrade workflow in CONTRIBUTING (currently silent).

Found during an automated issue-hunt/version-check pass. Items 1–3 are the core "make the updater handle PulseEngine tools" work; 4 is a separate verified bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions