diff --git a/public/assets/css/base.css b/public/assets/css/base.css
index ade68ea..b17b4d8 100644
--- a/public/assets/css/base.css
+++ b/public/assets/css/base.css
@@ -17,7 +17,7 @@ ul { list-style: none; }
/* Text */
--fg: #f0eeff;
--fg-muted: #9088aa;
- --fg-subtle: #4a3d60;
+ --fg-subtle: #8a7ba3;
/* Accent */
--accent: #ff7a1a;
diff --git a/public/assets/css/home.css b/public/assets/css/home.css
index c4c0625..70e8e31 100644
--- a/public/assets/css/home.css
+++ b/public/assets/css/home.css
@@ -117,9 +117,9 @@ body { padding-top: 0; }
align-items: center;
gap: 0.4rem;
font-size: 0.78rem;
- color: rgba(255,255,255,0.3);
+ color: var(--fg-muted);
}
- .hero-meta-item svg { width: 12px; height: 12px; opacity: 0.5; }
+ .hero-meta-item svg { width: 12px; height: 12px; opacity: 0.7; }
/* ── Trust bar ── */
.trust-bar {
diff --git a/src/components/CapabilityFlow.astro b/src/components/CapabilityFlow.astro
index b425214..0b88e50 100644
--- a/src/components/CapabilityFlow.astro
+++ b/src/components/CapabilityFlow.astro
@@ -112,6 +112,20 @@
height: auto;
display: block;
}
+ /* Below ~640px the viewBox scale-down shrinks node text past legibility;
+ scroll horizontally at a fixed minimum size instead of shrinking further. */
+ @media (max-width: 640px) {
+ .flow-stage {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ margin: 0 -2rem;
+ padding: 0 2rem;
+ }
+ .flow-stage svg {
+ width: auto;
+ min-width: 640px;
+ }
+ }
.pipe {
fill: none;
diff --git a/src/pages/index.astro b/src/pages/index.astro
index ee57e27..244623c 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -2,7 +2,7 @@
import BaseLayout from '@layouts/BaseLayout.astro';
import CapabilityFlow from '@components/CapabilityFlow.astro';
-const _body = "\n \n Traverse is a contract-driven WASM runtime. Write business logic once with a machine-readable contract and run it identically across browser, edge, cloud, and AI pipelines.\n \n Define once.
\n
Run anywhere.\n
[capability]\nname = \"calculate-price\"\nversion = \"1.2.0\"\nwasm = \"pricing.wasm\"\n\n[governing_spec]\ntitle = \"Pricing Policy v3\"\nsource = \"docs/pricing-policy.md\"\n\n[input]\ntype = \"object\"\nproperties.sku = \"string\"\nproperties.quantity = \"integer\"\nproperties.region = \"string\"\nrequired = [\"sku\", \"quantity\"]\n\n[output]\ntype = \"object\"\nproperties.total = \"number\"\nproperties.currency = \"string\"\nrequired = [\"total\", \"currency\"]\n
\n Three steps from idea to a portable, contract-governed piece of business logic running in any environment.\n
\nWrite a TOML file with your capability name, the WASM binary path, and JSON Schema definitions for inputs and outputs. Link it to the governing spec document your team actually works from.
\nImplement the logic in Rust and compile to wasm32-wasi. The same binary runs on every placement target without recompilation.
Add the capability to the registry with traverse add. Call it from the CLI, from an AI agent via MCP, or from your app directly. Every call is validated and traced.
From contract validation to AI agent discovery, Traverse handles the entire lifecycle.
\nEvery capability call validates inputs against a JSON Schema precondition before execution. Postconditions validate the output. Bad data never reaches your logic.
\nEach capability runs in its own Wasmtime WASM instance with linear memory isolation. A capability cannot access host resources it was not explicitly granted.
\nExpose your entire capability registry to AI agents via the MCP stdio server. Claude, GPT-4, and any MCP-compatible agent can discover and call capabilities safely.
\nOne WASM binary runs on the local target today. The same binary will run unchanged on browser, edge, cloud, and AI pipeline targets as they ship.
\nEvery execution produces a trace artifact: the input, the output, the contract version, and a timestamp. Audit any past run without re-executing anything.
\nEvery contract links to the governing spec document it implements. When the policy changes, you update the spec and bump the contract version. The paper trail is built in.
\nPricing rules, eligibility checks, compliance logic — any deterministic computation that needs to run reliably everywhere.
\nEncode complex pricing rules as a contract with a link to your pricing policy document. The same capability runs in your frontend, your backend, and inside AI agent pipelines with identical results.
\n Learn more →\nRun eligibility logic as a sandboxed WASM capability so an AI agent can check a user's eligibility for a product, service, or feature without risk of hallucinating the answer.
\n Learn more →\nCapture regulatory and compliance rules in versioned contracts with governing spec links. Every execution is traced. Auditors can replay any historical decision from the trace artifact.
\n Learn more →\nGive your AI agents a set of contract-governed capabilities to call. The agent cannot exceed the contract's boundaries. Postcondition checks block invalid outputs before they propagate.
\n Learn more →\nInstall the CLI, write your first contract, and run it in under five minutes.
\n\n Traverse is a contract-driven WASM runtime. Write business logic once with a machine-readable contract and run it identically across browser, edge, cloud, and AI pipelines.\n
\n[capability]\nname = \"calculate-price\"\nversion = \"1.2.0\"\nwasm = \"pricing.wasm\"\n\n[governing_spec]\ntitle = \"Pricing Policy v3\"\nsource = \"docs/pricing-policy.md\"\n\n[input]\ntype = \"object\"\nproperties.sku = \"string\"\nproperties.quantity = \"integer\"\nproperties.region = \"string\"\nrequired = [\"sku\", \"quantity\"]\n\n[output]\ntype = \"object\"\nproperties.total = \"number\"\nproperties.currency = \"string\"\nrequired = [\"total\", \"currency\"]\n
\n Three steps from idea to a portable, contract-governed piece of business logic running in any environment.\n
\nWrite a TOML file with your capability name, the WASM binary path, and JSON Schema definitions for inputs and outputs. Link it to the governing spec document your team actually works from.
\nImplement the logic in Rust and compile to wasm32-wasi. The same binary runs on every placement target without recompilation.
Add the capability to the registry with traverse add. Call it from the CLI, from an AI agent via MCP, or from your app directly. Every call is validated and traced.
From contract validation to AI agent discovery, Traverse handles the entire lifecycle.
\nEvery capability call validates inputs against a JSON Schema precondition before execution. Postconditions validate the output. Bad data never reaches your logic.
\nEach capability runs in its own Wasmtime WASM instance with linear memory isolation. A capability cannot access host resources it was not explicitly granted.
\nExpose your entire capability registry to AI agents via the MCP stdio server. Claude, GPT-4, and any MCP-compatible agent can discover and call capabilities safely.
\nOne WASM binary runs on the local target today. The same binary will run unchanged on browser, edge, cloud, and AI pipeline targets as they ship.
\nEvery execution produces a trace artifact: the input, the output, the contract version, and a timestamp. Audit any past run without re-executing anything.
\nEvery contract links to the governing spec document it implements. When the policy changes, you update the spec and bump the contract version. The paper trail is built in.
\nPricing rules, eligibility checks, compliance logic — any deterministic computation that needs to run reliably everywhere.
\nEncode complex pricing rules as a contract with a link to your pricing policy document. The same capability runs in your frontend, your backend, and inside AI agent pipelines with identical results.
\n Learn more →\nRun eligibility logic as a sandboxed WASM capability so an AI agent can check a user's eligibility for a product, service, or feature without risk of hallucinating the answer.
\n Learn more →\nCapture regulatory and compliance rules in versioned contracts with governing spec links. Every execution is traced. Auditors can replay any historical decision from the trace artifact.
\n Learn more →\nGive your AI agents a set of contract-governed capabilities to call. The agent cannot exceed the contract's boundaries. Postcondition checks block invalid outputs before they propagate.
\n Learn more →\nInstall the CLI, write your first contract, and run it in under five minutes.
\n