Skip to content

Agent OS roadmap: harden trust, multi-agent spine, IDE tools, session tree #8

Description

@karutoil

Summary

Deep dive of the CatCode codebase (Rust core, Go TUI, Next.js hub, TS SDK) produced a prioritized roadmap to strengthen the harness as a long-running, multi-agent coding product. Focus: fix safety/reliability debt first, then agent coordination, session/compaction model, IDE-grade tools, and provider/extensibility — while doubling down on Goal/CEO, microVM sandbox, self-learning, and dual UI.

This issue tracks the program of work. Sub-issues can split P0–P5 as needed.

Current strengths (protect)

  • Goal / Control Center — first-class plan → deploy → verify phase machine; CEO loop on web
  • Safety stack — workspace confinement, restricted paths, hybrid checkpoints, optional Microsandbox microVM, Destructive default approval
  • Self-learning — memory scopes, episodes, failure atlas, change coupling, codebase index, collections
  • Dual frontend — dense TUI (mouse, keybinds, plugin trust) + multi-project web hub (reattach, git, auth, export)
  • Protocol v2 — run/session ids, sequence, fixtures (67 cmds / 99 events)

Gaps (internal)

Area Today Target
Multi-agent In-process nested loops + intercom only Async jobs, peer hub, park/revive, process supervision
Sessions Flat JSONL; undo = last turn Tree (id/parentId), leaf nav, branch, branch summaries
Compaction Soft digest + LLM summarize First-class compaction entries, shake/elide, optional vision archive
IDE tools FS + bash + git + browser_* LSP, better edit anchors, AST edit, eval REPL, unified read
Providers OpenAI/Anthropic/Codex/GCA + presets Broader catalog, local engines, key tool dialects, MCP client
Extensibility Plugins + markdown skills Secure install/trust, skill://, multi-root skills

Reliability / security debt (blocking “safer” claims)

From REVIEW.md — must close before leaning on sandbox/approval marketing:

Critical / high

  • C1 Plugin install path traversal — untrusted plugin.name can remove_dir_all outside dest
  • H1 Project plugin trust marker forgeable from repo
  • H2 Global plugins fail under microsandbox → pre-hooks deny all tools
  • H3 Streamed tool-call index unbounded → client OOM
  • H5 write_file / bulk missing content silently truncates to empty
  • H13 Cancelled subagents report success and promote partial worktrees
  • H14 Sandbox stdout buffered unboundedly before truncate
  • H15 Fetch SSRF edge cases (trailing-dot / wildcard DNS)
  • H16 Browser file:// can read host files

Also

  • Memory append/consolidate preserve schema v2 metadata; fix evidence overwrite / merge drop
  • Split megamodules (main / provider / tools / plugins) along existing seams
  • TUI/web parity: /control (CEO) on TUI; plugin-trust decisions UI on web

Roadmap

P0 — Trust & correctness (1–3 weeks)

  1. Fix C1, H1–H3, H5, H13–H16 (+ related memory cancel/write bugs)
  2. Cancelled workers never promote worktrees; write never truncates silently
  3. Module splits so hub/LSP/session-tree have clean homes
  4. CEO + plugin-trust UX parity across TUI and web

Done when: clean install + sandbox + plugin path cannot delete home; cancelled subagents cannot merge half-done trees.

P1 — Agent OS spine

  1. Async task jobs with durable artifacts under session dir and auto-delivery into parent transcript
  2. Hub tool v1 — peer messaging + job wait/cancel; revive idle subagent sessions from JSONL
  3. Process supervision — named long-lived processes (dev servers): ready log/port, logs, stop; shared across CatCode instances in a project
  4. Subagent lifecycle: park after finish (TTL), steer via hub, durable coordination beyond single core process death

P2 — Session tree + compaction

  1. Session entries gain id / parentId; leaf navigation; /tree + /branch
  2. Compaction as first-class entry (not only rewrite-in-place); preserve display transcript
  3. Shake — elide huge tool results to artifact refs; evaluate cheap vision/archive compaction for vision models
  4. Branch summaries when abandoning a path

Pairs with Goal/CEO — long missions need non-destructive history.

P3 — IDE tools (model effectiveness)

Deferred groups via existing load_tools to keep core schema lean:

Tool Why
LSP rename / refs / diagnostics without fragile CLI
Snapshot-tagged / hashline-style edit fewer failed applies than pure search/replace
AST edit structural multi-file rewrites
eval (py/js first) retained REPL vs one-shot shell
Unified read URLs, archives, skill://, memory://, agent artifacts
Browser shared Chromium/CDP; block file://; optional relay later
DAP debug after LSP

P4 — Providers & extensibility

  1. Expand catalog (local engines keyless, more OAuth presets) — quality over raw count
  2. Own 2–3 tool wire dialects for local/open models we care about
  3. MCP client (consume servers) before inventing another plugin format
  4. Skills: skill:// resolution + multi-root discovery
  5. Marketplace browse optional — after trust/install security

P5 — Double down on CatCode moats

  1. Goal/CEO as default long-horizon path — tree sessions + hub jobs + correct worktree promote; mission UX in TUI
  2. Safer-by-default agent OS — keep Destructive default; map read/write/exec tiers; microVM for exec tools
  3. Self-learning that compounds — fix memory bugs → mission → episodes → verified memories → skill proposals with user accept
  4. Web hub multi-operator — multi-device cores already exist; add shareable session + process panel
  5. Evidence-backed goals — research_evidence + failure_atlas + coverage_ledger into CEO verify

Explicit non-goals (for now)

  • Defaulting to auto-approve everything
  • Cloning every third-party provider before LSP / hub / session tree
  • Computer-use before browser scheme lockdown + sandbox story
  • Growing plugin surface without install/trust fixes

90-day target

Dimension Today Target
Safety Feature-strong, bug-undercut Hardened install/sandbox; safer defaults hold under review
Multi-agent In-process only Jobs + hub messaging + parked agents
Long sessions Flat + digest/summarize Tree + better compaction
Model tools Bash-heavy LSP + structured edit + REPL
Long-horizon Goal/CEO lead Goal/CEO + tree + hub = clear product lead
Providers/ext Narrower Good-enough + MCP; dialects for our users

References

  • REVIEW.md — core bug audit
  • docs/architecture/ — protocol and system shape
  • core/src/goal.rs, subagent.rs, agent/compaction.rs, memory.rs, sandbox/, tooling/schema.rs
  • docs/guides/goal-mode.md, control-center.md, subagents.md, sandbox.md

Acceptance (program-level)

  • P0 items closed or tracked with owners
  • P1 hub/jobs design doc + vertical slice (spawn → artifact → parent delivery)
  • P2 session tree design (entry model + /tree UX) approved
  • At least one P3 tool (prefer LSP or eval) shipped behind load_tools
  • No regression in Goal/CEO, checkpoints, or Destructive approval defaults

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions