claude-memory/graph/procedures/agent-team-operational-playbook-wave-based-parallel-implemen-0e484d.md
2026-02-27 23:06:41 -06:00

5.3 KiB
Raw Blame History

id type title tags importance confidence created updated relations
0e484de1-cb92-479c-95ec-06fa9e886c0c procedure Agent Team Operational Playbook: Wave-Based Parallel Implementation with Code Review
claude-code
swarm
agent-teams
orchestrator
code-review
procedure
lessons-learned
rust
sba-scout
0.8 0.8 2026-02-28T05:06:14.591287+00:00 2026-02-28T05:06:41.138617+00:00
target type direction strength edge_id
3ecd877b-de73-4afd-b328-b3ee99f5a1e3 BUILDS_ON outgoing 0.95 91e7a65f-ba4f-4533-b9b6-b9d732762490
target type direction strength edge_id
99f4462b-91eb-4243-99cf-7a74a3afadbf BUILDS_ON outgoing 0.9 129677be-d2fe-45f2-a69c-b1340256d48c
target type direction strength edge_id
4dc83eed-b0b1-4924-b82e-faf352426785 FOLLOWS outgoing 0.9 c32c4588-17b5-4f00-8d59-37bf89c6f6be
target type direction strength edge_id
3227a923-84c4-4fe3-8574-dbf74d6e8b37 BUILDS_ON outgoing 0.85 173a8645-ab54-4247-822b-9fb9e2ca23fd
target type direction strength edge_id
4dfc5003-44f8-4520-8cfc-dc6d6ef9a65f REQUIRES outgoing 0.8 600e028b-6ee2-4413-b35c-220d210fb8fd
target type direction strength edge_id
27a1f728-ec90-469c-a6ab-5644d333322f RELATED_TO outgoing 0.7 67fc682d-2b46-43c8-b950-bd80147e0056
target type direction strength edge_id
c9add129-283a-445a-8dff-4525ec7fa9b6 FOLLOWS outgoing 0.8 10efe7b8-fe41-4e80-8733-e65add502655

Agent Team Operational Playbook: Wave-Based Parallel Implementation with Code Review

Detailed operational lessons from running a 7-task Rust implementation with agent teams (Phase 2 of SBA Scout rewrite). This captures what worked, what didn't, and specific patterns to follow.

Preconditions

  • Detailed task specs written up with file paths and reference code
  • Dependency graph between tasks already mapped
  • Enough tmux pane slots for parallel agents (check before launching)

Postconditions

  • All code compiles (cargo check or equivalent passes)
  • Tests pass
  • All review findings addressed
  • Team cleaned up (TeamDelete)

Team Setup

  • Use TeamCreate to create the team, then TaskCreate for all tasks upfront with full dependency chains (TaskUpdate addBlockedBy)
  • Task descriptions must be extremely detailed: include exact file paths, column mappings, reference files to read, expected function signatures
  • Agents that got detailed specs produced compiling code on first try with zero clarification needed
  • Use isolation: "worktree" for all coders so they work on independent copies

Wave Execution Pattern

  1. Map the dependency graph first, identify which tasks can run in parallel
  2. Launch parallel coders for independent tasks (Wave 1: e.g. 3 agents on independent files)
  3. After each wave completes: verify compilation on main worktree (cargo check), then launch next wave
  4. Worktree changes auto-merge back to the working directory when agents complete

Pane Limit Management (CRITICAL)

  • Hit "no space for new pane" error when trying to launch an agent with 6 idle agents still alive
  • Solution: Send shutdown_request to ALL completed agents IMMEDIATELY after their task is done — do not let them idle
  • Do not wait for batch shutdown — shut down each agent as soon as you confirm their task is complete
  • The idle notification spam from completed agents is noise — ignore it, just send shutdown_request

Code Review Pattern That Worked

  • Launch reviewer agents (swarm-reviewer type) after each wave or at the end
  • Provide explicit review checklists in the prompt: list every field mapping, every edge case, every cross-reference file
  • The reviewer caught 2 real bugs that would have caused runtime issues in the Phase 2 run:
    1. Missing #[serde(default)] on 8 TeamData fields — would cause deserialization panics if API omits optional fields
    2. Dead ApiError::Parse variant — response.json() returns reqwest::Error not serde_json::Error, so the Parse variant was unreachable
  • Also caught: import_all_cards hard-failing on first missing CSV (should try both card types independently)
  • Apply fixes yourself (team lead) rather than sending back to coders — faster for small mechanical fixes

Full Step-by-Step

  1. Create team + all tasks with dependencies
  2. Map dependency graph into waves
  3. Launch Wave N coders in parallel (worktree isolation)
  4. Wait for completion + verify compilation
  5. Shut down completed agents immediately (do not batch)
  6. Launch reviewer for completed wave's files
  7. Apply review fixes directly
  8. Launch Wave N+1
  9. Repeat steps 38 until all waves done
  10. Final comprehensive review across all files
  11. Clean up team (TeamDelete)

What to Improve Next Time

  • Shut down agents between waves, not in batches at the end
  • Could run final review in parallel with later-wave coders if the review only covers earlier-wave files
  • For tasks that produce very similar code (e.g. batter importer vs pitcher importer), consider having one coder do both sequentially instead of two coders — avoids code style divergence
  • Agent model: sonnet for both coders and reviewers (cost-effective, reliable for implementation tasks)

Context

Validated on: SBA Scout Rust rewrite Phase 2 (7 tasks: API client, sync orchestrator, batter importer, pitcher importer, team importer, transaction importer, query layer)