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
2 changes: 1 addition & 1 deletion public/llms.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Traverse

> Traverse is a contract-driven WASM runtime for portable business capabilities: write a capability once with a machine-readable contract (JSON Schema pre/postconditions), compile it to WASM, and run the same binary natively, in the browser, or expose it to an AI agent over MCP with the contract enforced on every call. Apache 2.0, pre-1.0 (v0.8.1) — check /platforms.html before assuming any target or feature is shipped.
> Traverse is a contract-driven WASM runtime for portable business capabilities: write a capability once with a machine-readable contract, compile it to WASM, and run it natively, in the browser, or expose it to an AI agent over MCP. Apache 2.0, pre-1.0 (v0.9.1) — check /platforms.html before assuming any target or feature is shipped.

Traverse is not a web framework, an agent-orchestration framework, or a general microservices platform. It governs one thing well: a single piece of business logic that must behave identically and auditably across more than one runtime environment.

Expand Down
64 changes: 10 additions & 54 deletions src/pages/changelog.astro
Original file line number Diff line number Diff line change
@@ -1,59 +1,15 @@
---
import SubpageLayout from '@layouts/SubpageLayout.astro';

const _body = "<div class=\"changelog-wrap\">\n <div class=\"section-label\" style=\"margin-bottom:1rem\">Changelog</div>\n <h1 class=\"t-h1\" style=\"margin-bottom:0.75rem\">Release history</h1>\n <p class=\"t-body t-muted\" style=\"max-width:50ch;margin-bottom:0.5rem\">What shipped in each version of Traverse. All releases are spec-governed — every change is backed by an approved, versioned specification.</p>\n <div style=\"margin-top:1rem;margin-bottom:3rem\">\n <a href=\"https://github.com/traverse-framework/traverse/releases\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-ghost btn-sm\">View all releases on GitHub →</a>\n </div>\n\n <!-- v0.8.1 -->\n <div class=\"release\">\n <div class=\"release-meta\">\n <div class=\"release-version\">v0.8.1</div>\n <div class=\"release-date\">July 18, 2026 · current</div>\n <div class=\"release-tag\"><span class=\"badge badge-success badge-dot\">Latest</span></div>\n <div class=\"release-tag\"><span class=\"badge badge-accent\">Active dev</span></div>\n </div>\n <div class=\"release-body\">\n <h3>crates.io publish fix</h3>\n <p>Patch release with no functional or spec changes. Completes v0.8.0’s publish to crates.io: fixes the unset registry token in the publish job, adds the required <code>description</code> manifest fields, and renames the CLI crate’s package identity to <code>traverse-cli-rs</code> to resolve a name collision — the binary invocation stays <code>traverse-cli</code>.</p>\n </div>\n </div>\n\n <!-- v0.8.0 -->\n <div class=\"release\">\n <div class=\"release-meta\">\n <div class=\"release-version\">v0.8.0</div>\n <div class=\"release-date\">July 16, 2026</div>\n </div>\n <div class=\"release-body\">\n <h3>Public embedder SDKs, durable event journal</h3>\n <p>The public embedder SDK release. Ships the first two <code>embedder-api/1.0.0</code> client SDKs — Rust (Linux GTK/CLI) and Web/TypeScript, both with real bundle execution — and completes the durable event journal so subscriptions survive broker restarts.</p>\n\n <div class=\"release-section-title\">What’s new</div>\n <ul>\n <li>Public <code>traverse-embedder</code> Rust SDK: every <code>embedder-api/1.0.0</code> operation against an application-owned bundle, with a deterministic test double and a CI-enforced conformance suite.</li>\n <li>Web/TypeScript embedder SDK with real runtime-WASM execution: <code>BundleEmbedder</code> digest-verifies every bundled capability and executes it in the browser’s native WebAssembly host through a minimal WASI shim — no nested engine, no server sidecar.</li>\n <li>Durable event journal: segmented storage, a bounded write path with revocation and audit, and journal-backed replay so durable subscriptions resume across a full broker restart.</li>\n <li>Deterministic <code>doc-approval.recommend</code> capability and canonical <code>doc-approval.pipeline</code> workflow.</li>\n <li>Runtime hardening: bounded HTTP connection timeouts, placeholder Sigstore evidence rejected, artifact-verification gate applied to workflow pipeline steps.</li>\n </ul>\n </div>\n </div>\n\n <!-- v0.7.0 -->\n <div class=\"release\">\n <div class=\"release-meta\">\n <div class=\"release-version\">v0.7.0</div>\n <div class=\"release-date\">2026</div>\n </div>\n <div class=\"release-body\">\n <h3>Browser adapter, MCP server, React demo</h3>\n <p>The largest release to date. Introduces the live browser adapter, the MCP stdio server for AI agent integration, and the React demo app. All backed by the expedition planning example domain.</p>\n\n <div class=\"release-section-title\">What's new</div>\n <ul>\n <li>Live browser adapter on port 4174. UI submits governed requests, runtime executes WASM capabilities locally.</li>\n <li>React demo app on port 4173 — connects to browser adapter, shows real-time state transitions and trace output</li>\n <li>MCP stdio server (<code>traverse-mcp</code>). AI agents discover and execute governed capabilities via Model Context Protocol.</li>\n <li>Expedition planning domain with 6 capabilities, 5 events, and 1 workflow. Fully governed and runnable.</li>\n <li>Trace generation and subscription. Every execution produces a structured, queryable trace artifact.</li>\n <li>State machine: <code>ready → streaming → completed</code> with ordered runtime timeline</li>\n <li>Release-facing documentation: quickstart, authoring guides, troubleshooting</li>\n </ul>\n\n <div class=\"release-section-title\">Governing specs (9 approved)</div>\n <ul>\n <li>foundation-v0-1: Core runtime, CLI, MCP surface</li>\n <li>capability-contracts: Contract definitions and validation</li>\n <li>event-contracts: Event contract definitions</li>\n <li>spec-alignment-gate: CI merge gate</li>\n <li>capability-registry: Registry behavior</li>\n <li>runtime-request-execution: Execution model</li>\n <li>workflow-registry-traversal: Workflow composition</li>\n <li>expedition-example-domain: Example domain definition</li>\n <li>expedition-example-artifacts: Example contracts and workflows</li>\n </ul>\n\n <div class=\"release-section-title\">Quality</div>\n <ul>\n <li>100% test coverage, CI-gated with no exceptions</li>\n <li><code>#![forbid(unsafe_code)]</code> enforced across all crates</li>\n <li>No unwrap, panic, or TODO in production code</li>\n <li>SBOM generation (CycloneDX format)</li>\n <li>ADR process in place. All architectural decisions documented.</li>\n </ul>\n </div>\n </div>\n\n <!-- v0.5.0 -->\n <div class=\"release\">\n <div class=\"release-meta\">\n <div class=\"release-version\">v0.5.0</div>\n <div class=\"release-date\">2026 · earlier</div>\n <div class=\"release-tag\"><span class=\"badge\">Stable</span></div>\n </div>\n <div class=\"release-body\">\n <h3>Release artifacts and app registration</h3>\n <p>Introduced stable release artifacts and the app registration and validation flow through the CLI. First version with a consumer-facing bundle integration path.</p>\n\n <div class=\"release-section-title\">What shipped</div>\n <ul>\n <li>Stable release artifacts, versioned and reproducible</li>\n <li>App registration via CLI using <code>traverse-cli bundle inspect</code></li>\n <li>App validation through the registry bundle manifest</li>\n <li>Consumer-facing documentation and bundle integration path</li>\n <li>Release-facing entry path for downstream consumers</li>\n </ul>\n </div>\n </div>\n\n <!-- Foundation -->\n <div class=\"release\">\n <div class=\"release-meta\">\n <div class=\"release-version\">v0.1.0</div>\n <div class=\"release-date\">2025 · foundation</div>\n <div class=\"release-tag\"><span class=\"badge\">Foundation</span></div>\n </div>\n <div class=\"release-body\">\n <h3>Spec governance, runtime foundation, CLI</h3>\n <p>Established the spec-driven development process, the core runtime crates, and the initial CLI surface. The foundation all subsequent releases are built on.</p>\n\n <div class=\"release-section-title\">What shipped</div>\n <ul>\n <li><code>traverse-runtime</code>: core execution engine scaffolding</li>\n <li><code>traverse-contracts</code>: contract parsing and validation</li>\n <li><code>traverse-registry</code>: capability and event registry</li>\n <li><code>traverse-cli</code>: initial CLI with register, list, validate, and run commands</li>\n <li>Spec governance process in place. Spec-first, ADR-backed, CI-gated.</li>\n <li>Rust workspace structure with <code>#![forbid(unsafe_code)]</code></li>\n <li>First approved governing spec: foundation-v0-1</li>\n </ul>\n </div>\n </div>\n\n <!-- Roadmap note -->\n <div style=\"margin-top:3rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px\">\n <p class=\"t-label\" style=\"margin-bottom:0.75rem\">In scope for future releases</p>\n <div class=\"checklist\">\n <div class=\"checklist-item\"><svg viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color:var(--fg-subtle)\"><circle cx=\"7\" cy=\"7\" r=\"5\"/></svg>Edge executor adapter</div>\n <div class=\"checklist-item\"><svg viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color:var(--fg-subtle)\"><circle cx=\"7\" cy=\"7\" r=\"5\"/></svg>Cloud executor adapter</div>\n <div class=\"checklist-item\"><svg viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color:var(--fg-subtle)\"><circle cx=\"7\" cy=\"7\" r=\"5\"/></svg>Multi-agent orchestration with conflict prevention</div>\n <div class=\"checklist-item\"><svg viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color:var(--fg-subtle)\"><circle cx=\"7\" cy=\"7\" r=\"5\"/></svg>AI-pipeline placement target</div>\n <div class=\"checklist-item\"><svg viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color:var(--fg-subtle)\"><circle cx=\"7\" cy=\"7\" r=\"5\"/></svg>Extended trace querying and audit tooling</div>\n </div>\n <p style=\"margin-top:1rem;font-size:0.8125rem;color:var(--fg-subtle)\">All roadmap items require an approved governing spec before implementation begins.</p>\n </div>\n</div>";
---
<SubpageLayout
title={"Changelog: Traverse Framework"}
description={"Traverse release history. See what shipped in each version: runtime, CLI, MCP server, contracts, registry, and spec governance."}
canonical={"https://traverse-framework.com/changelog.html"}
crumbs={[{ label: "Home", href: "/" }]}
>
<style is:global slot="head">.changelog-wrap { max-width: 920px; margin: 0 auto; padding: 3rem 2rem 5rem; }
@media (max-width: 768px) { .changelog-wrap { padding: 2.5rem 1.25rem 4rem; } }

.release {
display: grid;
grid-template-columns: 180px 1fr;
gap: 2.5rem;
padding: 3rem 0;
border-bottom: 1px solid var(--border);
}
@media (max-width: 640px) { .release { grid-template-columns: 1fr; gap: 1rem; } }
.release:last-child { border-bottom: none; }

.release-meta { padding-top: 0.25rem; }
.release-version {
font-family: var(--font-display);
font-size: 1.125rem;
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: 0.4rem;
}
.release-date { font-family: var(--font-mono); font-size: 0.72rem; color: var(--fg-subtle); margin-bottom: 0.75rem; }
.release-tag { margin-bottom: 0.5rem; }

.release-body h3 {
font-family: var(--font-display);
font-size: 1.25rem;
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: 0.5rem;
}
.release-body p { font-size: 0.9rem; color: var(--fg-muted); line-height: 1.7; margin-bottom: 1.25rem; max-width: 56ch; }
.release-body ul { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.25rem; }
.release-body li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.875rem; color: var(--fg-muted); }
.release-body li::before { content: '—'; color: var(--accent); flex-shrink: 0; margin-top: 0.05em; }

.release-section-title {
font-size: 0.72rem;
font-family: var(--font-mono);
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--fg-subtle);
margin-bottom: 0.6rem;
margin-top: 1.25rem;
}
code { font-family: var(--font-mono); font-size: 0.82em; background: var(--bg-card); border: 1px solid var(--border); border-radius: 4px; padding: 0.1em 0.4em; color: var(--accent); }</style>
<Fragment set:html={_body} />
<SubpageLayout title="Changelog: Traverse Framework" description="Traverse release history and current v0.9.1 release highlights." canonical="https://traverse-framework.com/changelog.html" crumbs={[{ label: 'Home', href: '/' }]}>
<main class="changelog-wrap">
<div class="section-label">Changelog</div><h1 class="t-h1">Release history</h1>
<p class="t-body t-muted">What shipped in Traverse. Each release is backed by versioned, reviewable work.</p>
<p><a href="https://github.com/traverse-framework/traverse/releases" class="btn btn-ghost btn-sm" target="_blank" rel="noopener">View all releases on GitHub →</a></p>
<article class="release"><aside><strong>v0.9.1</strong><p>August 9, 2026</p><span class="badge badge-success badge-dot">Latest</span></aside><div><h2 class="t-h2">Governed capability publishing and real emitted events</h2><p>v0.9.1 completes the current capability-authoring loop: scaffold, inspect, validate, and publish executable WASM capabilities through a reviewable registry change. Publication records the artifact with the registry record and rejects unresolved persona references, including in dry runs.</p><ul><li>The local executor carries events emitted by executable capabilities through the runtime; the output-JSON convention is retired.</li><li>Contract-surface coverage is enforced for published capabilities.</li><li>New end-to-end-smoked examples cover authorization, comment processing, action-status transitions, ownership assignment, and action-item validation.</li><li>The CLI package includes its generated protobuf source.</li></ul><a href="https://github.com/traverse-framework/traverse/blob/main/docs/releases/v0.9.1.md" target="_blank" rel="noopener">Read the v0.9.1 release notes →</a></div></article>
<article class="release"><aside><strong>v0.8.1</strong><p>July 18, 2026</p></aside><div><h2 class="t-h2">crates.io publish fix</h2><p>Patch release that completed the v0.8.0 publish path and retained the <code>traverse-cli</code> binary name.</p><a href="https://github.com/traverse-framework/traverse/blob/main/docs/releases/v0.8.1.md" target="_blank" rel="noopener">Read the v0.8.1 release notes →</a></div></article>
<article class="release"><aside><strong>v0.8.0</strong><p>July 16, 2026</p></aside><div><h2 class="t-h2">Public embedders and durable events</h2><p>Public Rust and Web/TypeScript embedder SDKs, durable event-journal replay, and the doc-approval reference workflow.</p><a href="https://github.com/traverse-framework/traverse/blob/main/docs/releases/v0.8.0.md" target="_blank" rel="noopener">Read the v0.8.0 release notes →</a></div></article>
</main>
<style is:global>.changelog-wrap{max-width:920px;margin:0 auto;padding:3rem 2rem 5rem}.changelog-wrap>p{margin:.75rem 0 2rem}.release{display:grid;grid-template-columns:180px 1fr;gap:2.5rem;padding:2.5rem 0;border-top:1px solid var(--border)}.release aside p{font-size:.8rem;color:var(--fg-subtle);margin:.35rem 0 .75rem}.release>div>p,.release li{color:var(--fg-muted);line-height:1.7}.release ul{padding-left:1.2rem;margin:1rem 0}.release li{margin:.45rem 0}@media(max-width:640px){.changelog-wrap{padding:2.5rem 1.25rem 4rem}.release{grid-template-columns:1fr;gap:1rem}}</style>
</SubpageLayout>
Loading
Loading