Product Surfaces
CLI/TUI, voice, desktop, and mobile are replaceable clients over one Node. Agents, Sessions, Routines, messages, Connections, and Swarm remain domain resources rather than branded parallel products. No client is an independent backend, harness, or source of truth.
No surface is enabled
Every named surface below is planned as product behavior. Source-callable project, workspace, session-ledger, and CLI foundations do not make the complete client available. Source-implemented process-manager and orchestration candidates do not make capacity or observability available.
CLI and minimal TUI
Status: planned. CLI is the first complete client. A minimal Pi SDK TUI starts a local Agent or attaches to one durable Session for messages, turns, tools, receipts, health, detach, reconnect, and debugging. It owns no durable state and is not a terminal emulator or orchestration dashboard.
Agents and Agent Sessions
Status: planned. Durable Agents with replaceable harness, model, and placement. ADR-013 is accepted. No public Agent surface is implemented.
Messages
Status: planned. Durable bounded Agent-to-Agent and human-to-Agent messages use threads, reply IDs, behavior, delivery state, and Project grants. A message is untrusted input. It is never confirmation, a grant, a receipt, or proof of an external effect.
Routines
Status: planned. Reusable binding from one immutable Skill entry point to policy, target, inputs, budgets, and at most one optional trigger. There is no standalone Schedule aggregate.
Skills
Status: planned. Author, review, test, and version user-owned Skill
revisions. Generated executable code cannot activate itself or run in the
node. Recommended maia-cli and maia-orchestration Skill bundle sync is
planned.
Live observability
Status: planned. Every authoritative command, transition, activation, attempt, effect, message, Routine tick, provider attempt, assignment, and recovery decision has durable correlation evidence and a live Node projection. CLI/TUI/mobile and Swarm consume one partitioned snapshot/event API. Shared fan-out, bounded non-blocking diagnostic batches, resumable cursors, and processor checkpoints keep clients and bulk analytics off worker execution paths. There is no separate observability backend.
Desktop and mobile cockpit
Status: planned. Desktop is first: one macOS Tauri window hosts the local Expo export as a full-screen, voice-first cockpit. The accessible 2D Swarm Canvas remains visible while focus, evidence, confirmations, and settings open as overlays. Native Expo iOS and Android clients then consume the same SDK, client-core projections, scene model, and design system.
There is no standalone web control application. Expo Go is a prototype convenience only and cannot qualify native audio, notifications, deep links, secure storage, WebRTC, or packaging. A later 3D renderer must preserve the 2D scene and accessibility contract and pass scale, power, fallback, and security gates.
Adapters
Status: planned. Pi SDK, model providers, Cursor Cloud, realtime voice, MCP, and A2A stay behind narrow versioned adapters. There is no generic public runtime-extension system in v1.
Preview and confirmation
Status: planned. Privileged authorization required before a capability or effect may proceed. Distinct from a Question/reply or a DecisionGate. Not present in the installed command registry.
Capacity and execution
Status: planned as a product surface. Cooperative Skill-level admission
and a user-facing resource view are not implemented. The macOS
ProcessResourceManager and the compact node.status projection are
source-implemented candidates: cooperative, not implemented as a
release-gated surface, with no enabled Codex, Git, or turn consumer. Hard
containment is not claimed.
Next action
Canonical behavior lives in the Agent architecture, the Swarm architecture, the Desktop and mobile architecture, and the operations contract. Use Getting started and the CLI notes for what the built executable actually exposes.
Imported from Maia OS docs at 3dc3e07