You talk to a leader.
It runs the missions.
Neta keeps a long-lived Node for every workspace. The coordinator reasons, opens missions, and directs mission leads; each mission lead works directly or with agents of its own — every mission numbered, every outcome closed out.
One Node serves every client. The terminal attaches to the leader's conversation, and the desktop draws the same state as a spine of missions, a mission bar for work that needs you, and chat on the exact same sessions. Close any client and the work keeps running.
A leader, not just a chatter
The coordinator stays available in one continuous conversation and routes sustained work into missions. A small bounded task it handles itself; anything that writes becomes a mission, so isolation, access, and closeout stay visible.
One mission, one objective
Each mission has a permanent number, one owning workspace, one worktree, and one mission lead. Numbers are never reused, and a closed mission stays on the spine at its start position — archived and read-only, never deleted.
Work survives the UI
The Node owns every session, mission, and event. Closing the terminal or the desktop changes nothing on the Node; the next client takes one snapshot and resumes exactly where the previous view left off.
Finish, then close
Merging a branch does not close a mission. The leader reviews the handoff, records merged or abandoned with evidence, and only then is the mission closed. The mission bar keeps every open mission visible until then.
One tree, three levels
leader · mission lead · agentOne continuous conversation per workspace. It opens missions, sets access, and owns closeout — merged or abandoned, with evidence, for every mission.
One bounded objective with a permanent number that never changes. Its worktree, agents, conversations, and closeout state all belong to it.
The agent responsible for one mission. It may work directly or create ordinary agents, and it moves between Lead and Lead++ as the work demands.
A bounded helper beneath a mission lead. It receives a task, read-only or read-write access, a provider and a model — and creates nothing further.
Agents take display names from a fixed pool, unique across the workspace's open missions. Activity shows Running or Not running from actual execution. Archiving hides an agent from the sidebar and preserves its conversation.
Lead first, Lead++ when it earns it
access is visible and reversibleEvery Lead++ request carries a decision record — objective, target mission and worktree, files affected, validation, duration. Duration counts active connected time only; after ten minutes the canvas warns and a reminder falls due every two minutes. Nothing expires on its own.
Missions you can open
every conversation is the real oneEvery leader, mission lead, and agent holds a real OpenCode conversation owned by the Node. Selecting it — in the terminal or on the canvas — opens that exact session with its full history. No dummy surfaces, no second orchestration path.
The desktop draws the spine with its missions, the mission bar with the coordinator and every open mission that needs a person, and a navigator that jumps anywhere. The terminal attaches to the same leader conversation the desktop shows, so both views see each other's turns.
Providers & skills
one OpenCode path, every agentEvery agent runs in OpenCode
Neta controls private OpenCode servers through their native API. Each server uses the operator's OpenCode provider connections.
Skills, not fixed identities
Ordinary markdown you can override per project — as are the provider defaults in settings.
Owned by one Node, seen by every client
what each side doesRun it in a workspace you know
Neta needs Node 22+ and a connected OpenCode model provider. The first neta open starts the Node; everything after that is conversation.