Spanda

Workspace layers

← Overview · Pipeline: architecture.md

Rust workspace layout for the lean-core platform (Phases 1–35 complete).

Layer Key crates Responsibility
Public facade spanda-core Stable re-exports, hardware_verify, thin shims for embedders
Apps spanda-cli, spanda-node, spanda-wasm, spanda-dap, spanda-llvm Native CLI, Node/WASM bindings, DAP debugger, LLVM codegen
Pipeline spanda-driver, spanda-lexer, spanda-parser, spanda-ast, spanda-typecheck, spanda-sir, spanda-error Lex → parse → AST → check → SIR
Runtime spanda-interpreter, spanda-runtime, spanda-runtime-host, spanda-comm, spanda-safety, spanda-hal, spanda-concurrency Tree-walking execution, scheduling, safety, HAL
Transport spanda-transport-routing, spanda-transport-mqtt, spanda-transport-ros2, … Comm adapters and live bridges
Domain spanda-connectivity, spanda-hardware, spanda-fleet, spanda-ota, spanda-certify, spanda-assurance, spanda-readiness Hardware profiles, verify facade, fleet, deploy, assurance analysis
FFI & bridge spanda-bridge, spanda-ffi Python/C++ subprocess bridges, live AI/IoT
Tooling spanda-format, spanda-lint, spanda-codegen, spanda-docs fmt, lint, codegen, docgen
Packages spanda-package, spanda-providers Manifest, registry fetch, provider dispatch
Official packages packages/registry/* 38 hosted .sd packages (ROS2, MQTT, GPS, mission assurance, mission continuity, …)
TypeScript mirror src/, packages/lsp Parser/typecheck parity, LSP, Vitest

Dependency rule: Only spanda-core pulls the full facade graph. spanda-cli, spanda-node, spanda-wasm, and spanda-dap depend on workspace crates directly.

References: architecture.md · lean-core.md · platform-architecture.md · crates/README.md