Skip to content

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 KaPort contract 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.

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.

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).

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.

A loopback-only local web UI for history, memory editing, approvals and settings; login through a CLI-issued link; security review checklist passed.

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.

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.