ADR-0002accepted

Five-agent team structure

Context and Problem Statement

The previous setup had 15+ scattered agents with overlapping roles, unclear ownership, and expensive model usage. Agents were being spawned as disposable subagents, losing context between runs. We needed a lean, permanent team with clear roles and cost-efficient model assignments.

Decision

Consolidate to five core agents with fixed roles and dedicated models:

AgentRoleModelHeartbeat
Johnny (main)CEO / Orchestratorclaude-sonnet-4-630m
Alt (altcun)Lead Architect / PRDzai/glm-52h
T-Bug (tbug)Implementation Coordinatorcodex-sparkdisabled
Goro (goro)CMO / Content Strategykimi-k2p52h
River (qa)QA Engineerkimi-k2p51h

Rules:

  • Never spawn core agents as disposable subagents — use sessions_send for inter-agent communication
  • Each agent has persistent sessions and memory
  • Johnny orchestrates and delegates, never writes code
  • T-Bug coordinates CLI tools only, never touches code directly
  • All crons run on cost-efficient models (MiniMax/Kimi), not Anthropic

Consequences

  • Good, because clear ownership eliminates role confusion and duplicate work
  • Good, because 5 agents with persistent sessions retain context vs 15 disposable ones that don’t
  • Good, because model assignments match role requirements (expensive models only where needed)
  • Bad, because fewer agents means less parallelism — but focused work beats scattered effort
  • Neutral, because the team can be expanded later if a clear gap emerges

Implementation Plan

Affected files

  • openclaw.jsonagents.list array
  • MEMORY.md → team roster section
  • IDENTITY.md → role descriptions
  • All cron scripts → model references

Verification

  • openclaw status shows exactly 6 agents (5 core + codex ACP)
  • No orphaned agent sessions from old roster
  • Inter-agent messaging works via sessions_send