Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/components/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Blog</a></li>
<li><a href="https://github.com/traverse-framework/traverse" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://github.com/orgs/traverse-framework/projects" target="_blank" rel="noopener">Project Board</a></li>
</ul>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/concepts.astro

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/pages/index.astro

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions src/pages/questions/what-is-traverse.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import QuestionLayout from '@layouts/QuestionLayout.astro';

const relatedLinks = [];
const _body = "<p>Traverse is a contract-driven Rust and WASM runtime. You define business capabilities once and run the same binary across browser, edge, cloud, and AI pipelines.</p>\n\n <p>The problem it solves is simple to state but hard to fix: teams write the same business logic multiple times. Pricing logic lives in the frontend, re-implemented in the backend API, and copied again into a data pipeline or AI agent. Every copy drifts. Bugs appear in one place but not another. The environments are different enough that sharing code feels impractical.</p>\n\n <p>Traverse takes a different approach. You write the logic once in Rust, compile it to WebAssembly, and attach a machine-readable contract. The contract says what the capability does, what must be true before it runs, where it is allowed to run, and what constraints apply. The runtime enforces all of that. The same binary runs in your browser, on an edge node, in a cloud function, or inside an AI pipeline without modification.</p>\n\n <h2>What makes it different</h2>\n <p>Most portability solutions stop at packaging. They let you deploy the same code to multiple environments, but they do not govern how it is called. Traverse adds governance at the call layer. You cannot invoke a capability with invalid inputs. You cannot place it on a target it does not support. Every execution produces a trace artifact, a structured record of what ran, what the inputs were, which contract governed it, and what the output was.</p>\n\n <p>That trace is not a log. It is a first-class artifact you can inspect, store, and reason about. It connects the AI era's demand for explainability directly to the execution layer.</p>\n\n <h2>Where it came from</h2>\n <p>Traverse is built on Universal Microservices Architecture (UMA), a design philosophy developed at <a href=\"https://universalmicroservices.com\" target=\"_blank\" rel=\"noopener\">universalmicroservices.com</a>. UMA treats capabilities as portable, contract-governed units that are not tied to any single deployment environment. Traverse is the Rust and WASM implementation of that idea.</p>\n\n <p>It was created by Enrico Piovesan. The project is related to Contract-Driven AI Development (C-DAD), which applies the same contract-first approach to AI agent pipelines.</p>\n\n <h2>Current state</h2>\n <p>Traverse is at v0.7.0. It ships with a working expedition planning example that demonstrates 6 capabilities, 5 events, and 1 workflow running locally. The runtime, registry, CLI, browser adapter, and MCP integration are all functional. The codebase is open source under the Apache 2.0 license at <a href=\"https://github.com/traverse-framework/traverse\" target=\"_blank\" rel=\"noopener\">github.com/traverse-framework/traverse</a>.</p>\n\n <h2>Core crates</h2>\n <ul>\n <li><strong>traverse-runtime</strong> — the execution engine</li>\n <li><strong>traverse-contracts</strong> — contract definition and validation</li>\n <li><strong>traverse-registry</strong> — capability discovery and indexing</li>\n <li><strong>traverse-cli</strong> — terminal interface for inspecting and running</li>\n <li><strong>traverse-mcp</strong> — Model Context Protocol integration for AI pipelines</li>\n <li><strong>traverse-expedition-wasm</strong> — the canonical example capabilities</li>\n </ul>\n\n <p>If you want to see it running in under 15 minutes, start with the <a href=\"/docs/quickstart.html\">quickstart guide</a>.</p>";
const _jsonLd = "{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is Traverse?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Traverse is a contract-driven Rust and WASM runtime. You define business capabilities once as WebAssembly modules governed by machine-readable contracts, and run the same binary across browser, edge, cloud, and AI pipelines. The runtime validates inputs and placement before execution and produces a trace artifact for every run. It is built on Universal Microservices Architecture (UMA) by Enrico Piovesan, currently at v0.7.0 under the Apache 2.0 license.\"}}]}";
const _body = "<p>Traverse is a contract-driven Rust and WASM runtime for device-independent capabilities. You define a capability once, and the same WASM binary runs on any client without modification. Execution happens on the client by default. If the client decides to — based on its own heuristics, like resource constraints or latency — it can delegate a subset of that capability to run on the server instead.</p>\n\n <p>The problem it solves is simple to state but hard to fix: teams write the same business logic multiple times. Pricing logic lives in the frontend, re-implemented in the backend API, and copied again into a data pipeline or AI agent. Every copy drifts. Bugs appear in one place but not another. The environments are different enough that sharing code feels impractical.</p>\n\n <p>Traverse takes a different approach. You write the logic once in Rust, compile it to WebAssembly, and attach a machine-readable contract. The contract says what the capability does, what must be true before it runs, where it is allowed to run, and what constraints apply. The runtime enforces all of that. The client evaluates the contract against its own context and decides where each part of the capability runs — locally by default, with server delegation as a heuristic-driven fallback for the parts that need it, not a fixed deployment target chosen ahead of time.</p>\n\n <h2>What makes it different</h2>\n <p>Most portability solutions stop at packaging. They let you deploy the same code to multiple environments, but they do not govern how it is called. Traverse adds governance at the call layer. You cannot invoke a capability with invalid inputs. You cannot place it on a target it does not support. Every execution produces a trace artifact, a structured record of what ran, what the inputs were, which contract governed it, and what the output was.</p>\n\n <p>That trace is not a log. It is a first-class artifact you can inspect, store, and reason about. It connects the AI era's demand for explainability directly to the execution layer.</p>\n\n <h2>Where it came from</h2>\n <p>Traverse is built on Universal Microservices Architecture (UMA), a design philosophy developed at <a href=\"https://universalmicroservices.com\" target=\"_blank\" rel=\"noopener\">universalmicroservices.com</a>. UMA treats capabilities as portable, contract-governed units that are not tied to any single deployment environment. Traverse is the Rust and WASM implementation of that idea.</p>\n\n <p>It was created by Enrico Piovesan. The project is related to Contract-Driven AI Development (C-DAD), which applies the same contract-first approach to AI agent pipelines.</p>\n\n <h2>Current state</h2>\n <p>Traverse is at v0.7.0. It ships with a working expedition planning example that demonstrates 6 capabilities, 5 events, and 1 workflow running locally. The runtime, registry, CLI, browser adapter, and MCP integration are all functional. The codebase is open source under the Apache 2.0 license at <a href=\"https://github.com/traverse-framework/traverse\" target=\"_blank\" rel=\"noopener\">github.com/traverse-framework/traverse</a>.</p>\n\n <h2>Core crates</h2>\n <ul>\n <li><strong>traverse-runtime</strong> — the execution engine</li>\n <li><strong>traverse-contracts</strong> — contract definition and validation</li>\n <li><strong>traverse-registry</strong> — capability discovery and indexing</li>\n <li><strong>traverse-cli</strong> — terminal interface for inspecting and running</li>\n <li><strong>traverse-mcp</strong> — Model Context Protocol integration for AI pipelines</li>\n <li><strong>traverse-expedition-wasm</strong> — the canonical example capabilities</li>\n </ul>\n\n <p>If you want to see it running in under 15 minutes, start with the <a href=\"/docs/quickstart.html\">quickstart guide</a>.</p>";
const _jsonLd = "{\"@context\": \"https://schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What is Traverse?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Traverse is a contract-driven Rust and WASM runtime for device-independent capabilities. You define a capability once as a WebAssembly module governed by a machine-readable contract, and the same binary runs on any client without modification. Execution happens on the client by default; the client can heuristically delegate a subset of the capability to the server when it decides to. The runtime validates inputs and placement before execution and produces a trace artifact for every run. It is built on Universal Microservices Architecture (UMA) by Enrico Piovesan, currently at v0.7.0 under the Apache 2.0 license.\"}}]}";
---
<QuestionLayout
title={"What is Traverse?"}
Expand Down
Loading
Loading