Skip to content

Parallel Execution

Each ADW run is completely independent. Run as many simultaneously as you need.

Running Multiple Issues in Parallel

bash
# Three issues in parallel
cd adws
uv run adw_plan_build.py 10 &
uv run adw_plan_build.py 11 &
uv run adw_plan_build.py 12 &
wait

Each run gets its own isolated workspace at agents/<adw-id>/. There are no shared locks, shared state files, or shared database connections between runs.

Why Parallel is Safe

The ADW ID system guarantees isolation:

agents/
├── a1b2c3d4/        # Issue #10 run — completely isolated
│   ├── adw_state.json
│   └── ...
├── e5f6g7h8/        # Issue #11 run — completely isolated
│   ├── adw_state.json
│   └── ...
└── i9j0k1l2/        # Issue #12 run — completely isolated
    ├── adw_state.json
    └── ...

Each run:

  • Creates its own feature branch (feat-10-a1b2c3d4-..., feat-11-e5f6g7h8-...)
  • Writes to its own workspace directory
  • Posts to its own issue thread on GitHub
  • Opens its own PR

Git Branch Safety

Parallel runs each create separate branches from main. They do not conflict unless two runs modify the same files — in which case the second PR to merge will have a normal merge conflict to resolve.

The recommended workflow:

  1. Keep issues focused and non-overlapping in scope
  2. Merge PRs as they complete rather than letting them pile up
  3. For large refactors, run sequentially to avoid conflicts

With the Webhook Trigger

The webhook server handles parallel execution automatically. Each incoming event spawns an independent background process:

bash
# Start webhook server — handles all concurrency automatically
uv run adw_triggers/trigger_webhook.py

GitHub → comment adw_sdlc on three issues → three independent processes spawn immediately, each writing to agents/<their-adw-id>/.

Resource Considerations

Each parallel ADW run calls the Claude API independently. Monitor your Anthropic API usage when running many parallel instances:

  • Each adw_plan_build.py run = 2 Claude sessions (planner + implementor)
  • Each adw_sdlc.py run = 5 Claude sessions (planner + implementor + tester + reviewer + documenter)
  • Typical cost per adw_plan_build.py run: varies by complexity, usually $0.05-$0.50

Model Selection Per Run

Edit adw_modules/agent.py or use the --model flag on primitive ADWs:

bash
# Sonnet (default) — faster, lower cost
uv run adw_plan_build.py 10

# Opus — better for complex architectural changes
uv run adw_sdk_prompt.py "Refactor this module" --model opus

Agentics SOP — AI Developer Workflow & Agentic Coding Reference