027-node-and-wasm-bindings

Node-API binding and WebAssembly build

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Approved (A-23). Two host surfaces over the existing engine: `rustev-node`, a napi-rs Node-API binding through which a TypeScript service compiles plans, runs decisions, replays and evaluates in-process and implements Rustev's seams in TypeScript as explicit composition (R-38); and `rustev-wasm`, a wasm-bindgen build of the pure crates for browsers, edge runtimes and tooling. Documents cross as the contract's canonical JSON, TypeScript types are generated from JSON Schema emitted by `rustev-contract`, command rendering moves into one pure crate shared by every surface, and every surface (CLI, native binding, WebAssembly, later HTTP and gRPC) runs one shared conformance suite. Approval does not authorize npm or crates.io publication, name reservation, a release, a live provider call, spend, or a claim that cross-target floating point agrees beyond what the parity suite measures.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "directory",
      "path": "integrations/rustev-node/"
    }
  • establishes
    {
      "kind": "directory",
      "path": "integrations/rustev-wasm/"
    }
  • establishes
    {
      "kind": "directory",
      "path": "crates/rustev-surface/"
    }
  • establishes
    {
      "kind": "directory",
      "path": "tools/rustev-conformance/"
    }
  • extends
    {
      "nature": "additive",
      "spec": "002-decision-contract-and-pure-core",
      "unit": {
        "kind": "directory",
        "path": "crates/rustev-contract/"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "002-decision-contract-and-pure-core",
      "unit": {
        "kind": "directory",
        "path": "crates/rustev-core/"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-evaluation-and-replay",
      "unit": {
        "kind": "directory",
        "path": "crates/rustev-eval/"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "003-runtime-execution-and-evidence",
      "unit": {
        "kind": "directory",
        "path": "crates/rustev-runtime/"
      }
    }
  • extends
    {
      "nature": "amending",
      "spec": "006-cli-surface",
      "unit": {
        "kind": "directory",
        "path": "crates/rustev-cli/"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-boundaries-and-authority",
      "unit": {
        "kind": "file",
        "path": "Cargo.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-boundaries-and-authority",
      "unit": {
        "kind": "file",
        "path": "Cargo.lock"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-boundaries-and-authority",
      "unit": {
        "kind": "file",
        "path": "Makefile"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-boundaries-and-authority",
      "unit": {
        "kind": "directory",
        "path": "tools/rustev-boundaries/"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "031-public-api-and-release-family",
      "unit": {
        "kind": "directory",
        "path": "tools/rustev-release/"
      }
    }

Source headings

  1. 027: Node-API binding and WebAssembly build
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 Surfaces and crates
  6. 3.2 Typed boundary and generated types
  7. 3.3 Engine lifecycle and the TypeScript API
  8. 3.4 Errors and unresolved results
  9. 3.5 Async execution and cancellation
  10. 3.6 Host implemented seams
  11. 3.7 Seams available today and seams that join later
  12. 3.8 Trace context
  13. 3.9 Memory, shutdown and observability
  14. 3.10 WebAssembly build
  15. 3.11 Floating point and cross-target determinism
  16. 3.12 Shared conformance suite
  17. 3.13 Packaging
  18. 3.14 Dependency boundaries
  19. 3.15 Binding principles
  20. 4. Out of scope
  21. 5. Observable negative cases
  22. Acceptance
  23. Verification
  24. Implementation record
  25. Decisions at approval

Frozen anchors

No frozen anchors declared.