FileMailbox implements IMailboxService using a JSON file per agent
with proper-lockfile for concurrent-write safety. Polling replaces
the EventEmitter used by InMemoryMailbox.
- FileMailbox: ~/<baseDir>/<safe-agentId>.json, 500ms poll interval
- Race-safe inbox creation via exclusive O_EXCL write (flag "wx")
- MailboxManager: createFileMailbox(sessionId, baseDir?) alongside
existing createMailbox(); map type widened to IMailboxService
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- prd-swarm-multi-agent.md: mark Phase 1 and Teams (PT) as shipped in delivery
table; update problem statement to reflect clineStack removal; add section 7b
summarising the teams system and linking to the new reference
- docs/teams.md: new full reference for .roo/teams/*.json config format,
template variables, execution modes, conventions injection, orchestrator loop
pattern, and the fullstack.json example
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Captures the full architecture plan for moving Moo Code from sequential
task delegation to genuine concurrent in-process swarm, modelled on the
claude-code teammate/swarm implementation.
Phases:
P1 - Replace clineStack with concurrent tasks: Map, remove single-open invariant
P2 - SwarmRegistry, AgentIdentity, round-robin color assignment
P3 - InMemoryMailbox, idle worker loop, task_assignment/idle_notification
P4 - LeaderPermissionBridge, worker badge in tool-ask UI
P5 - FileMailbox with lockfile for cross-process workers
P6 - CliWorkerBackend, moo-worker entry point, spawn_swarm tool
Includes data model changes, new event names, updated API surface for
spawn_parallel_tasks (concurrent flag) and new spawn_swarm tool spec,
UI changes, phased delivery estimates, and risk/mitigation table.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>