AgentVM Roadmap
Building in public. Every milestone, every decision, every trade-off — documented here.
Last updated: May 2026
Release Timeline
| Version | Codename | Target | Status |
|---|---|---|---|
| v0.1.0 | Genesis | Q2 2026 | ✅ Released |
| v0.2.x | Ignition | Q2 2026 | ✅ Released (v0.2.3) |
| v0.3.0 | Bridge | Q3 2026 | ✅ Released |
| v1.0.0 | Launch | Q1 2027 | ⬜ Planned |
Phase 1 — Genesis (v0.1.0) ✅
Goal: A working kernel that can spawn, manage, and terminate agent processes with in-memory state.
Motto: "Make it work."
Shipped
- [x]
Kernelclass — agent registry, process lifecycle, event system - [x]
Agentdefinition — name, description, config, capability declarations - [x]
Processmodel — spawn, pause, resume, terminate with state transitions - [x] Process states:
created → starting → running → paused → terminated → crashed - [x] Event emitter — all lifecycle events fire structured
KernelEventobjects - [x] In-memory process store
- [x]
MemoryBus— namespaced key-value store, shared namespace, TTL support - [x] CLI scaffold:
agentvm init,start,spawn,ps,kill,logs - [x] TypeScript SDK with full type inference
- [x] Unit tests for all core modules
- [x] RFC-001 (Process State Machine Design) — accepted
- [x] Architecture Overview, Getting Started guide, Contributing guide
- [x] GitHub Actions CI/CD
Phase 2 — Ignition (v0.2.x) ✅
Goal: Tool routing, message passing, scheduling, and LLM integration turn AgentVM into a real multi-agent runtime.
Motto: "Make it useful."
Shipped in v0.2.0
- [x]
ToolRouter— registry, invocation, rate limiting, permission checks - [x]
MessageBroker— pub/sub channels, direct messaging, priority, history, dead-letter handling - [x]
Scheduler— sequential, parallel, race, conditional strategies with dependency resolution and retry - [x]
Kernel.execute()—ExecutionContextwith memory, tools, publish, emit, AbortSignal - [x] Agent tool allowlist enforcement
- [x] RFC-002 (Memory Bus Interface Contract) — accepted
- [x] RFC-003 (Event Schema Specification) — accepted
Shipped in v0.2.1
- [x]
AgentContracttypes — typed input/output, SLA fields (maxLatency,maxCost) - [x]
Kernel.registerTool()andKernel.createChannel()convenience methods - [x]
MemoryBus.stats,MessageBroker.stats,Scheduler.stats - [x] Idempotent
Process._terminate() - [x] Scoped rate limit counters (per agent, not global)
Shipped in v0.2.2
- [x]
MCPClient— stdio + SSE transports, JSON-RPC 2.0, auto-registers MCP tools - [x]
createLLMAgent()— Anthropic + OpenAI, agentic tool loop, conversation history, token tracking - [x]
createPipeline()— sequential multi-agent pipeline helper - [x] Built-in tools:
http_fetch,json_fetch,shell_exec,file_read,file_write,wait - [x]
registerBuiltins(kernel)convenience function - [x] Example projects:
llm-pipeline.ts,mcp-agent.ts,llm-research-agent.ts - [x] Tests for LLM agent and MCP client
Phase 3 — Bridge (v0.3.0) ✅
Goal: Persistent state, runtime contract enforcement, config system, and framework adapters.
Motto: "Make it connect."
Milestones
M3.1 — Config System ✅
- [x] YAML config file (
agentvm.yml) — declare agents, tools, channels declaratively - [x] Built-in YAML parser (zero dependencies)
- [x] Environment variable overrides via
env:section - [x] Config validation on startup with helpful error messages (
ConfigValidationError) - [ ] Hot-reload for non-breaking config changes
- [ ]
agentvm validateCLI command
M3.2 — Persistent Memory Backends ✅
- [x]
MemoryBackendinterface — stable contract all backends implement (8 methods) - [x]
InMemoryBackend— refactored default, backward compatible - [x]
SqliteBackend— embedded, zero-config, file-based persistence via sql.js (pure WASM) - [x]
MemoryBusaccepts pluggable backends via constructor - [x]
KernelacceptsmemoryBackendin config - [ ] Redis backend — distributed cache + pub/sub, connection pooling
- [ ] Migration utility — move memory data between backends
M3.3 — Agent Contract Enforcement ✅
- [x] Runtime input validation against
AgentContract.inputschema - [x] Runtime output validation against
AgentContract.outputschema - [x]
validateSchema()— recursive validator for string/number/boolean/object/array - [x]
ContractValidationErrorwith agent name, phase, and violation details - [x] SLA enforcement — emits
contract:sla:latencyevent whenmaxLatencyexceeded - [ ]
Pipelinevalidates type compatibility between chained agents at construction time - [ ] RFC-004 (Agent Contract Enforcement) — in progress
M3.4 — Resource Tracking ✅
- [x] Surface
tokensUsedonExecutionResultautomatically from__llm_usage - [x] LLM agent propagates
__llm_usagetoExecutionResultautomatically - [x]
Kernel.stats()— aggregate stats: agents, processes by state, memory, tools, channels, total tokens - [ ] Per-process token budget — abort execution when limit exceeded
- [ ] Surface
costonExecutionResult
M3.5 — Checkpointing ✅
- [x]
checkpoint(kernel, processId, path)— serialize process metadata + memory to JSON - [x]
restore(kernel, path)— spawn process and restore all memory from checkpoint - [x]
readCheckpoint(path)— inspect checkpoint data without restoring - [ ] Automatic checkpoint on crash
- [ ] RFC-005 (Checkpointing Strategy) — planned
M3.6 — Framework Adapters ✅
- [x] LangChain.js adapter — tools (
toLangChainTools) + memory (toLangChainMemory) - [x] Vercel AI SDK adapter — tools (
toAISDKTools) + usage tracking (createUsageTracker) - [x] Generic adapter — OpenAI format, Anthropic format, tool executor, MCP server (
serveMCP) - [x]
describeTools()debug helper - [x] Adapter test suite (34 tests)
- [ ] CrewAI adapter (Python-only framework — out of scope for JS SDK)
Phase 3 RFCs
RFC-004— Agent Contract EnforcementRFC-005— Checkpointing StrategyRFC-006— Persistent Memory Backend Interface
Phase 4 — Launch (v1.0.0)
Goal: Production-grade, distributed, and battle-tested.
Motto: "Make it scale."
Milestones
M4.1 — Distributed Mode
- [ ] Multi-node kernel clusters
- [ ] Process migration between nodes
- [ ] Distributed message broker (NATS integration)
- [ ] Shared state across nodes (CRDTs or distributed locks)
- [ ] Node discovery and health monitoring
M4.2 — Kubernetes Operator
- [ ] Custom Resource Definitions (CRDs) for agents and workflows
- [ ] Auto-scaling based on task queue depth
- [ ] Rolling updates for agent definitions
- [ ] Helm chart for easy deployment
M4.3 — Admin Dashboard
- [ ] Web UI for monitoring all running processes
- [ ] Real-time event stream visualization
- [ ] Resource consumption graphs
- [ ] Tool usage analytics
- [ ] Channel activity monitor
- [ ] Process management (spawn/kill from UI)
M4.4 — Hardening
- [ ] Performance benchmarks (latency, throughput, memory)
- [ ] Load testing at 1000+ concurrent agents
- [ ] Security audit (tool permissions, sandbox escapes, injection)
- [ ] API stability guarantee — semantic versioning commitment
- [ ] Comprehensive documentation site
- [ ] Python SDK
Phase 4 RFCs
RFC-007— Distributed Consensus ModelRFC-008— Kubernetes CRD SpecificationRFC-009— Dashboard ArchitectureRFC-010— v1.0 API Stability Contract
Feature Requests & Voting
We use GitHub Discussions for feature requests. The community votes on what gets built next.
How to propose a feature:
- Open a Discussion in the "Feature Requests" category
- Describe the problem, proposed solution, and alternatives
- Community votes with 👍
- Top-voted features get added to the next phase
How to propose an architectural change:
- Write an RFC in
docs/rfcs/using the template inRFC-000-TEMPLATE.md - Open a PR
- Community reviews and discusses
- Maintainers approve or request changes
- Approved RFCs get scheduled into a phase
Build in Public Log
| Date | Decision | Context |
|---|---|---|
| 2026-03-26 | Project kickoff | Repository created, roadmap published |
| 2026-03-31 | v0.2.0 released | ToolRouter, MessageBroker, Scheduler, Kernel.execute() |
| 2026-04-05 | v0.2.1 released | AgentContract types, convenience methods, bug fixes |
| 2026-04-11 | v0.2.2 released | MCPClient, createLLMAgent, built-in tools, pipeline helper |
| 2026-05-05 | v0.3.0 released | MemoryBackend interface, SQLite backend, contract enforcement, config system, checkpointing, Kernel.stats() |
| 2026-05-05 | Framework adapters | LangChain.js, Vercel AI SDK, and generic (OpenAI/Anthropic/MCP) adapters shipped |
This log is updated with every major decision. Subscribe to releases to get notified.
How to Get Involved
- Build: Pick an open issue and submit a PR
- Design: Write or review RFCs
- Test: Try the latest release and report bugs
- Spread: Star the repo, share on socials, write blog posts
- Discuss: Join GitHub Discussions or Discord
Every contribution matters. Let's build this together.
