Skip to content

WASM capability versioning and state #595

Description

@flyingrobots

Migrated from a local Wesley Method backlog card after adopting METHOD v2.1.0 tracker doctrine.

  • Source path: docs/method/backlog/up-next/RUNTIME_wasm-capability-versioning-and-state.md
  • Original filesystem lane: up-next
  • Canonical Method lane label: lane:asap
  • Legend: RUNTIME
  • Migration issue: Migrate Wesley Method backlog to GitHub Issues #548
  • Migrated on: 2026-06-04

Original Local Backlog Card

WASM capability versioning and state

  • Lane: up-next
  • Legend: RUNTIME

Why now

The capability ABI needs compatibility and state semantics before it becomes a
real plugin boundary. Hosts must know whether a kernel can run a capability, and
capabilities must not hide mutable state behind portable compiler truth.

Hill

The first WASM capability ABI defines semver compatibility, rejection
diagnostics, and a stateless default model with explicit future resource
handles.

Done looks like

  • kernel semver and capability ABI semver are documented separately
  • capabilities declare ABI version range and optional minimum kernel feature
    set
  • hosts reject unsupported combinations with typed diagnostics before execution
  • the first portable ABI profile is stateless
  • any future state enters through explicit resources such as registry snapshots,
    cache handles, or session handles
  • fixture proves hidden state cannot alter pure capability output

Repo Evidence

  • docs/design/0009-rust-core-and-wasm-capability-abi/rust-core-and-wasm-capability-abi.md
  • crates/wesley-core/src/domain/capability.rs
  • crates/wesley-core/tests/module_capability_registry.rs
  • docs/method/backlog/up-next/RUNTIME_wasm-host-function-governance.md
  • docs/method/backlog/bad-code/EVIDENCE_module-load-report-release-artifact.md

Current Slice Status

Rust-native metadata, registry fixtures, ABI version range diagnostics,
stateless resource-handle rejection, and hermetic cross-host fixture checks now
exist. Remaining work is the full runtime ABI: actual WASM execution,
resource-handle implementation, kernel feature negotiation, and release
artifact reporting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    legend:RUNTIMERuntime/tooling/host/operator flow worktriage:cool-ideasExploratory idea intake that still needs scheduling, closure, or a repo move

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions