Skip to content

Spin adapter cannot serve: spin-sdk 6 imports wasi:http@0.3.0-rc, unsupported by released Spin runtimes #113

Description

@aram356

Summary

The Spin adapter compiles to a wasm32-wasip2 component and passes its router-level contract tests under wasmtime, but it cannot actually serve: spin up fails to link on every released Spin runtime.

Reproduction

edgezero-cli serve --adapter spin
# or directly:
spin up --from crates/mocktioneer-adapter-spin/spin.toml \
        --runtime-config-file crates/mocktioneer-adapter-spin/runtime-config.toml

Fails with (Spin 3.6.3):

Error: component imports instance wasi:http/types@0.3.0-rc-2026-03-15,
but a matching implementation was not found in the linker

Root cause

cargo tree shows the chain:

mocktioneer-adapter-spin → edgezero-adapter-spin → spin-sdk v6.0.0
  → wasip3 v0.6.0+wasi-0.3.0-rc-2026-03-15

spin-sdk 6.0.0 imports wasi:http@0.3.0-rc, which no released Spin runtime provides (they expose wasi:http@0.2). This is an SDK/runtime ABI mismatch.

Why this can't be fixed in mocktioneer

edgezero-adapter-spin pins spin-sdk 6 as a workspace dependency with no feature lever to select the wasi:http@0.2 ABI, so mocktioneer cannot downgrade or opt out. The fix belongs upstream in EdgeZero's spin-sdk pin (align the SDK / generated component ABI / required Spin CLI runtime version).

Impact

Current state

Documented as a known limitation in docs/guide/configuration.md and CLAUDE.md (PR #110) rather than shipping a knowingly-red CI gate.

Done when

  • EdgeZero aligns the spin-sdk pin / component ABI with a released Spin runtime.
  • spin up serves mocktioneer locally.
  • CI gains a spin up smoke test that curls /.
  • Spin gains a config-seeded auction contract test (parity with Fastly/Cloudflare).
  • The limitation notes in docs/guide/configuration.md + CLAUDE.md are removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions