← the Atlas

Terminal teams — a crew of agent terminals on the canvas

Features·seedling·proposed·

The feature roadmap toward /team: one orchestrator agent driving specialist agent terminals (implementor, architect, watchguard) with the team's structure as terminal relations rendered on the canvas. Four features, two substrates already shipped, one skill tying them together.

The surface-map campaign (PR #1714 → W7) was already a one-orchestrator-many-agents operation, run by hand: briefs over kaval-tui send, claims verified at the tree, watchdogs on idle agents. Every seam it exposed is a feature below. The idea: make the crew a first-class, visible thing — teammates spawned beside the orchestrator, the team’s structure drawn on the canvas.

THE CANVAS — one task, one visible team delegates: implement consults: architecture reviews: electricity orchestrator · RT-main holds the plan of record, dispatches briefs, verifies at the tree, rules on consults goal: W7 shipped · may not stop without report (stop-hook) implementor · worktree W7 builds test-first on its branch; reports at stage boundaries state: working · 3/8 stages architect · read-only answers design consults with /architecture-first-principles state: idle · awaiting consult watchguard · lowy lens reviews each push for boundary violations; red-flags to orchestrator state: watching pushes Edges are RELATIONS — typed, on the wire, persisted — generalizing today's sub-terminal parentId.
The target: an orchestrator tile and its specialists, spawned beside it, typed relations as edges. The team is canvas structure, not tribal knowledge in one agent's context window.

The roadmap

shipped small delta new build padi-tui create --worktree · --parent · -- argv → id kaval-tui send / wait / snapshot the messaging loop (proven in campaign) sub-terminal parentId a relation on the wire, rendered F1 · spawn placement create --near <tile> --title <role> F2 · terminal relations chrome.setRelation {to, kind, label} F4 · /goal stop-hook can't stop silently; useful solo F3 · canvas team edges render F2 + role badges /team convene · brief · lifecycle · disband — composes F1–F4 F1 → /team F2 → F3
What exists, what's a delta, what's new — and /team as the composition. F1/F2/F4 are independent; F3 needs F2; each ships alone.
Feature What it is Status Campaign incident it answers
padi-tui create --worktree --parent -- <argv> → id; tile identical to browser-created shipped (the spawn substrate)
kaval-tui send / wait / snapshot — the messaging loop shipped (the wire)
F1 create --near <tile> --title <role> — spawn placed next to the orchestrator delta on padi-tui create, zero new wire surface: read the reference tile’s stored canvasLayout (the terminals collection), offset it, pass it in the EXISTING create input (InitialTerminalMetadataSchema already carries optional canvasLayout — placement atomic with creation, no default-cascade race; repoIslands’ no-reshuffle rule holds) teammates lost among 40 tiles
F2 Terminal relations: chrome.setRelation {to, kind: delegates|consults|reviews, label} — persisted metadata generalizing sub-terminal parentIdWhy relations are kolu data, not skill state: the roster in the orchestrator’s context dies at every compaction — it did, repeatedly, during the campaign. A relation on the terminal survives compaction, reconnect, and re-keying, and renders for the human. parentId stays separate: containment ≠ collaboration. new (padi surface + schema) the team existed only in my context window
F3 Canvas renders F2: edges + role badges, cluster on the minimap new (client UI; straight lines first, no routing) same
F4 /goal — a Stop-hook contract: an agent with an unmet goal cannot end its turn without posting a report or a blocked-notice (escapes: done: true, max-nag counter) new (small skill + hook; useful solo, ships first) the silent mid-stage stall
/team The skill composing F1–F4: convene (spawn + relate + brief by role), messaging contract, lifecycle, disband + reap new (upstreamable to srid/agency) all of the above, today done by hand

Notes toward /team

Prior art