Roadmap
Everything expands behind exit criteria: one user, one channel, one workspace first. Phase scope can move; the exit criteria are the contract.
- Phase 0, Ka interface validation. Every gap G1..G20 in Ka’s public surface marked confirmed, refuted or changed, with reproductions; the
KaPortcontract and worker protocol fixed; the contract suite green against the pinned Ka version. - M1, the core.
ka-agent-core(domain, strict config),ka-agent-store(SQLite, migrations, audit chain),ka-agent-port(the boundary),ka-agent-runtime(sessions, durable queue, single-flight, approvals with deny-on-expiry, budgets, supervisor). - M2, the channel and the daemon. Telegram (long polling, allowlist, commands, throttled delivery, approval cards), the admin socket,
run/status/chat/doctor. 87 tests green; the Telegram flow verified end to end against a fake Bot API.
Phase 1, Telegram MVP (in progress)
Section titled “Phase 1, Telegram MVP (in progress)”Deliver the whole MVP: pairing, minimal memory (/remember, /forget, memory edit, compiled MEMORY.md), the FTS history index with /history, minimal skills, systemd unit, backups and restore drills. Exits when end-to-end fault tests pass in CI and 14 days of dogfooding show no stuck session, no duplicated side effect, no unaudited action.
Phase 2, memory and history
Section titled “Phase 2, memory and history”Memory candidates with provenance (memory.propose, memory.search, /memory review); a budget for the compiled MEMORY.md with retrieval outside it; episode summaries, retention, export and purge; history search evaluated against a labeled query set (recall@10 at or above 0.8, or the embeddings decision is opened).
Phase 3, skills and approvals
Section titled “Phase 3, skills and approvals”Skill installation with a review step; the MCP bridge with first-party connectors (filesystem roots, notes, RSS, HTTP, GitHub, calendar); scopes, grants and an idempotent intent log; the scheduler for reminders and read-only digests. Exits when fault injection shows zero duplicate external writes across crashes.
Phase 4, web UI
Section titled “Phase 4, web UI”A loopback-only local web UI for history, memory editing, approvals and settings; login through a CLI-issued link; security review checklist passed.
Phase 5, plugin ecosystem
Section titled “Phase 5, plugin ecosystem”Plugin API v1; MCP-stdio plugin runtime under bubblewrap with an egress proxy; signed archives; ka-agent plugin install|update|rm. Third-party code without third-party trust: sandbox escape tests must pass.
Phase 6, multi-channel and multi-user
Section titled “Phase 6, multi-channel and multi-user”A second channel (Matrix or email) proving the channel trait; cross-channel identity linking; an explicit decision between instance-per-user and shared-instance multi-tenancy, with isolation tests proving no memory, history or grant ever crosses identities.
The authoritative version, with risks and full exit criteria per phase, is SEED.md §10 in the repository.