Teams¶
A team is a record in the control-plane database: its roles, the model and VM profile of each role, a repository, a daily budget, its links and its agents. Agents are created when a role first receives work, sleep when idle and are added as extra replicas when a role's queue backs up.
Creating a team¶
From the Console (Teams, New team), from chat with /team create <name> --template <template> --repo <url>,
or through the API (POST /teams, see the playbooks). A template is required unless the
deployment names a default (KAPELLE_DEFAULT_TEMPLATE): a template decides where agents run and what they may
cost, so the platform never picks one in silence.
Creating a team makes its home room (a public Mattermost channel by default, a Slack channel with
--home slack, nothing with none), a LiteLLM team with the budget, the team record, the Agent Cards of its
roles and its surface links. No VM exists until a role receives work.
The flow of a work item¶
- The lead owns every work item and is the only role that talks to the person: it asks questions, reports progress and declares the item done.
- The pipeline of the template fixes the main path, for example coder to reviewer to lead; the worker performs those hops and opens the pull request.
- Any role may delegate to another; delegation depth, per-turn iteration limits and key budgets bound the
loops. A template's
rework_rounds(default 2) bounds the review-and-fix cycles of one work item before the lead must report what is left. - Waiting costs nothing: a lead that delegated ends its run and its VM sleeps until a reply wakes it.
Budget¶
budget_usd_per_day is enforced by LiteLLM per team and per agent key. When it runs out the team posts a
notice, and a new task from the Console answers 429. Spend per team and per day is on the Spend page and in
GET /teams/{name}/budget and GET /spend.
Links and members¶
A team can be linked to a GitHub repository (owner/repo), a Linear team and a Jira project; a link is
verified when the integration is connected, see integrations. PUT /teams/{name}/links
and DELETE change them.
Archiving¶
Archiving cancels open work, destroys the team's sandboxes after their disks are archived, revokes its LiteLLM keys and removes its roles, links and members, which frees the name. The runs, the spend history and the team's memory stay. Archive is the delete for teams, and it asks for confirmation.
Isolation¶
isolation: shared runs the team's roles on shared workers; dedicated pins workers to the team. What each
does today is on team isolation. Teams share one more thing on purpose: a human-curated
memory that agents read and write through the memory commands (memory commands).
Depth: architecture, Teams.