Concepts

How vexillum works

The roles, and the life of a task from dispatch to strike.

The roles

TermWhat it is
generalYou, the human. You talk only to the commander.
commanderThe agent session you talk to: Claude Code by default, or Pi or OpenCode. It reads your request and the project's rules, then dispatches and tracks soldiers.
soldierAn agent session the commander starts to do one task, in its own camp. Claude Code by default, or Pi or OpenCode when its model profile says so.
campA soldier's isolated git worktree, on its own branch.
missionA task that changes code and delivers something to land.
scoutA task that only investigates and reports back. It never commits or pushes.
sentinelA background process that watches soldiers and wakes the commander when one settles.

The life of a task

  1. You ask. In the commander's session (Claude Code by default) you say what you want.
  2. The commander dispatches. Following the project's rules it runs vx dispatch "<prompt>" --kind mission|scout --model <m> --effort <e>.
  3. A camp is acquired. vexillum takes a clean worktree from the project's pool (or creates one) on a new branch, vexillum/<task-id>, forked from your current branch.
  4. A soldier starts. A real, interactive session of the soldier's harness (Claude Code by default) opens in a herdr pane inside that camp. The command returns quickly: as soon as herdr sees the soldier working (or already settled), without waiting for the work to finish.
  5. The sentinel watches. It polls the soldier's live status and records the outcome on disk. See Sentinel.
  6. The commander is woken. The change is surfaced to the commander, so it reports to you even if its turn had already ended: by a Stop hook in Claude Code, a wake extension in Pi, or the sentinel posting into the session in OpenCode (see Sentinel).
  7. You decide. For a mission, you land it or ship it. For a scout, the commander relays the report.
  8. The camp is struck, returning to the pool, once there is nothing left to lose.

What isolation does and does not give you

A camp isolates the soldier's commits and working tree from yours. It does not sandbox the process: a soldier has full host access under your OS user. The real safety control is approval before landing.

Where the intelligence lives

The binary is deterministic plumbing (state on disk, worktrees, panes, refusals). Choosing a model, deciding to ask you, phrasing a report: that is the commander's judgment, steered by markdown. See AGENTS.md and rules.

On this page