34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
---
|
|
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.
|