- Interpreter: Uses WAMR 2.4.4 in classic interpreted mode (
WAMR_BUILD_INTERP=1, no AOT/JIT). - Concurrency: Runs multiple isolated threads (wapps).
- Isolation: Strict memory isolation via WebAssembly; external interactions mediated exclusively through the VFS.
- Mount-table VFS Router: Plan 9-inspired path routing for devices, network, and process state.
- Layered TarFS: OCI-compatible filesystem supporting multiple TAR layers with shadowing and whiteouts.
Full developer and user documentation lives in docs/:
- Quick Start — build, package, and launch a wapp in ten minutes.
- Architecture — the VFS router, wapp model, supervisor, and platform seam.
- VFS Reference — every
/dev,/net,/proc, and TarFS path. - Control Plane Reference — the
/dev/wantedcontract: nodes, verbs, state machine. - Configuration Reference — engine JSON config schema.
- Platform Guide — Linux, the NuttX simulator, and the porting checklist.
- Testing Guide — the unit, in-WASM selftest, and smoke tiers.
WANTED implements a VFS Router. Path resolution is split into four primary namespaces:
- Device Namespace (
/dev/): Routes to registered sub-drivers (pipes, stdio, control plane). - Network Namespace (
/net/): Routes to the socket driver for TCP/UDP. - Process Namespace (
/proc/): Read-only system state and metrics. - Application Space (Root
/): TarFS merged read-only OCI layers.
WAPP -> WASI -> VFS ROUTER -> [/dev/ | /net/ | /proc/ | TarFS(/)]
See Architecture for the full conceptual overview.
The environment is standardized via Podman/Docker. Commands are just recipes that run inside the build container (just --list shows them all). On a bare host the root Makefile is a thin wrapper that runs the same recipe in the container — make build is just just build in the image — so either works. Inside the devcontainer or CI, call just directly.
just build # engine + sheriff supervisor
just wsh # engine + wsh debug supervisor
just test # run unit tests
just selftest # run in-WASM functional suiteSee the Quick Start and Testing Guide for details.
WANTED runs as a first-class NuttX application.
just nuttx-deps # init submodules
just nuttx-build # build the sim
just nuttx-selftest # run the suite on the simSee the Platform Guide for sim usage and the hardware roadmap.
See CONTRIBUTING.md for code style and commit conventions.
WANTED Engine is licensed under the Apache License, Version 2.0. Bundled third-party components retain their own licenses — see NOTICE.