---
status: open
parent: "[[027-pi-subagents-implementation-spec-task]]"
blocked-by:
  - "[[046-pi-subagents-minimal-tracer-bullet-task]]"
tags:
  - ticket/task/afk
---

# Add batch spawning and bounded concurrency

## Question

Add batch spawn support that accepts multiple subagent requests, returns child ids immediately, and runs all accepted children through the same supervisor with configurable concurrency.

## What to build

Extend the non-blocking spawn path from one child to many children.
Batch entries should use the same request semantics as single spawn entries.
The supervisor should preserve accepted child records, report per-child spawn failures, and enforce a configurable concurrency limit without hiding queued work from status surfaces.

## Acceptance criteria

- [ ] Batch spawn validates every entry with the same rules as single spawn.
- [ ] A batch request returns accepted child ids and initial metadata without waiting for completion.
- [ ] `subagent_list` shows active children and a bounded recent terminal history.
- [ ] `maxConcurrent` limits simultaneous running children while preserving queued records.
- [ ] Partial spawn failures are reported per requested child without losing accepted children.

## Implementation Notes

All spawns remain non-blocking.
Do not add a wait-mode parameter in this slice.
