moa_tower_boot
Boots the tower workspace for a git repo: validates repository state, writes namespace identity docs, and registers the tower roster entry with your orchestrator agent ID.
Instructions
Boot the tower workspace for a git repository: validates the repo (inside a git repo, ≥1 commit), writes the state + namespace identity docs to the shared board, and registers the tower roster entry (name "tower") with your orchestrator agent id. The tower_agent_id must belong to a spawned tower-orchestrator subagent — "main" is rejected (main is never the tower; boot first, then let the orchestrator drive plan/spawn/merge itself). Idempotent lifecycle: repeated boot while booted errors; teardown clears the namespace so boot works again. No .tower/ directory is created inside the repo — state lives in the board, worktrees live in a sibling -worktrees/ dir. Optional delegator_agent_id (M1): registers a roster entry {name:"delegator", kind:"delegator", agentId} — the delegation channel, which may ONLY call moa_tower_send addressed to the tower.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Base branch for missions (default: the repo's current branch). | |
| mode | No | Tower mode (default "branch"; "pr" is reserved for a future gh-backed mode). | |
| repo_root | No | Optional alias for the same value as workspace (must resolve to the identical absolute path when provided); defaults to workspace. | |
| workspace | Yes | The absolute repo root (main checkout) this tower namespace anchors to. Required on every tower tool — the server cwd is never used as a fallback. | |
| ci_command | No | Optional CI command (B2): moa_tower_ci runs it in each mission worktree and the merge gate turns hard (green ci/<branchSlug> record required) once set. Re-booting with ci_command is the idempotent configuration channel — it updates the repo doc instead of erroring. | |
| tower_agent_id | Yes | Your orchestrator agent id — the roster entry for the tower is registered with it. Must be the engine agent id of a spawned tower-orchestrator subagent; "main" is rejected outright (main is never the tower). | |
| delegator_agent_id | No | Optional delegator engine agent id (M1): registers the roster entry {name:"delegator", kind:"delegator", agentId}. A delegator may only call moa_tower_send addressed to the tower; every other tower tool rejects it. |