"use client"; import { useRef } from "react"; import { Reveal, SectionIcon } from "./_reveal"; const MILESTONES = [ { version: "v0.1", phase: "Foundation", color: "var(--cm-clay)", items: [ "E2E encrypted messaging (libsodium crypto_box)", "WSS broker with reconnect + priority routing", "ed25519 identity + signed invite links", "claudemesh launch with dev-channel push", "Named sessions + ephemeral keypairs", "Production hardening (stale sweep, sender exclusion)", ], stat: "16 releases", }, { version: "v0.2", phase: "Groups", color: "var(--cm-fig)", items: [ "@group routing with roles (lead, member, observer)", "Interactive wizard for launch configuration", "Dynamic join/leave groups at runtime", "Multicast delivery with sender exclusion", ], stat: "6 coordination patterns", }, { version: "v0.3", phase: "Shared Intelligence", color: "var(--cm-cactus)", items: [ "Shared state — live key-value with push notifications", "Memory — persistent knowledge with full-text search", "Message status — per-recipient delivery tracking", "MCP instructions — dynamic identity + tool guide", ], stat: "Peers learn collectively", }, { version: "v0.4", phase: "Files & Targeting", color: "var(--cm-oat)", items: [ "MinIO file sharing with per-peer access control", "Message attachments (ephemeral, 24h TTL)", "Multi-target messages with deduplication", "Targeted views — per-audience message tailoring", ], stat: "Binary artifacts + text", }, { version: "v0.5", phase: "Data Platform", color: "var(--cm-clay)", items: [ "Per-mesh SQL database (Postgres schema)", "Vector search (Qdrant semantic embeddings)", "Graph database (Neo4j entity relationships)", "Context sharing between peer sessions", "Tasks — create, claim, complete work items", "Streams — real-time pub/sub data channels", ], stat: "5 persistence backends", }, { version: "v0.6–0.8", phase: "Platform", color: "var(--cm-fig)", items: [ "Mesh MCP proxy — dynamic tool sharing between peers", "Skills catalog — publish + discover reusable instructions", "Signed hash-chain audit log for mesh events", "Inbound webhooks for external integrations", "Scheduled messages + cron-based reminders", "Mesh services — deploy MCP servers with vault + scopes", "Runner container for git/npx service sources", "URL watch — broker polls URLs, notifies on change", "Telegram bridge with multi-tenant routing", "Peer stats reporting (messages, uptime, errors)", ], stat: "43 MCP tools total", }, { version: "v0.9 → 1.34", phase: "Daemon · multi-mesh · multi-session", color: "var(--cm-cactus)", items: [ "Persistent daemon — long-lived broker WS, durable outbox/inbox", "Universal multi-mesh daemon — one process, every joined mesh", "Per-session IPC tokens — auto-scope to the launched session", "Per-session broker presence — sibling sessions see each other", "Self-healing daemon lifecycle (auto-spawn, version probe)", "Multi-session correctness train — per-recipient SSE demux + inbox scoping", "Refuse-to-kick on control-plane (no more no-op kicks)", "Caller-stable idempotency on every send", "Stale CLAUDEMESH_CONFIG_DIR fallback", ], stat: "1.34.15 shipped", }, ]; export const Timeline = () => { const trackRef = useRef(null); return (

Shipped, not promised

120+ npm releases through v1.34.15. Every feature below is in production today.

{/* Vertical line */}
{MILESTONES.map((m, idx) => (
{/* Dot on timeline */}
{/* Content */}
{/* Header */}
{m.version}

{m.phase}

{m.stat}
{/* Items grid */}
{m.items.map((item) => (
{item}
))}
))}
{/* Bottom: what's next */}
next HKDF cross-machine identity · session capabilities · A2A interop · self-host packaging · federation
); };