One workspace, nine crates, one governance layer.

Traverse isn't a single binary. It's a Rust workspace of purpose-built crates, each governed by an immutable, versioned spec, that together define, validate, place, and execute business capabilities. This is the map.

v0.8.1 9 workspace crates 73 approved specs

Capability in, trace out.

Six vocabulary words cover almost everything. A Capability is a unit of business logic. A Contract declares what it needs and promises, in JSON Schema. An Event Contract does the same for things a capability publishes or consumes. A Workflow composes capabilities into a sequence. The Runtime validates a request against its contract, places it on a target, and executes it. Every execution produces a Trace — a structured, queryable record of what ran, against which contract version, with what result.

Contract
Registry
Runtime
Placement
Trace

What executes a capability.

Three crates carry the actual runtime behavior — reading a contract, resolving a capability against the registry, and executing it inside a sandboxed WASM instance with enforced limits.

traverse-runtime Shipped

The core execution engine. Validates a runtime request against its contract, resolves placement, and drives execution against the correct executor — native, thread-pooled, or WASM.

traverse-contracts Shipped

Contract definitions and validation. Parses capability and event contracts, checks preconditions and postconditions, and is the single source of truth the runtime defers to.

traverse-registry Shipped

Capability and event registries. Resolves a name and version to a concrete contract and binary, and enforces registration integrity.

How you or an agent talk to it.

Two crates expose the runtime — one for humans at a terminal, one for AI agents over the Model Context Protocol.

traverse-cli Shipped

The traverse command. Register, list, validate, and run governed capabilities from the terminal. Packaged as traverse-cli-rs on crates.io; the binary stays traverse-cli.

traverse-mcp Shipped

The Model Context Protocol server. Lets an AI agent discover, inspect, and execute governed capabilities over stdio. See what agents can do with it →

How Traverse gets inside your app.

Three crates in the workspace carry native embedding. This is also where the honesty matters most — status varies a lot between them. Full per-platform detail, including the four SDK packages outside this workspace, lives on the Platforms page →

traverse-embedder Shipped

The public Rust embedder SDK, implementing embedder-api/1.0.0. Real bundle execution for Linux GTK and CLI hosts, shipped in v0.8.0.

traverse-native-bridge Shipped

Deterministic builder for the governed native runtime WASM bridge — the foundation layer other native embedders build on.

traverse-swift-host Feasibility proof

An Apple static-library feasibility host proving a Swift app can call a Rust-hosted wasmi interpreter with host-owned limits. Not a shipped iOS runtime — see why on Platforms →

Proof the whole stack works end to end.

traverse-expedition-wasm Shipped

The expedition planning domain compiled to wasm32-wasi, governed by spec 027. Six capabilities, five events, one workflow — the canonical proof that a contract can go from definition to a traced execution. See it running in Examples →

73 approved specs, and code loses to them.

Every one of the crates above is governed by at least one immutable, versioned spec. The project's own rule, stated plainly in its constitution: when code and contract disagree, the contract wins until it's formally amended. No change merges without passing spec_alignment_check.sh against its governing spec.

Roughly how the 73 break down by area — this is our own bucketing for orientation, not an authoritative taxonomy:

  • Runtime core / execution~14
  • Contracts & registries~11
  • Native / embedder / mobile~9
  • MCP, agents & browser surfaces~7
  • Observability, APIs & connectors~7
  • Foundational governance & CI~6
  • Security & supply chain~5
  • Dependencies & publishing~5
  • Example domains~3
Browse the full registry on GitHub →

Read the workspace yourself.

Every crate described here is in the open-source repo, Apache 2.0 licensed, with its own README.

View on GitHub → Read the quickstart