- Replaced task-simple-mode with a `task.batch` setting enabled by default.
- Updated task schema to use batch `{agent, context, tasks[]}` payloads.
- Migrated task execution to spawn one async job per task and merge outputs.
- Removed per-call schema passing while preserving legacy flat task calls.
6.2 KiB
6.2 KiB
{{#if batchEnabled}}Spawns subagents to work in the background — one per tasks[] item; a single spawn is a one-item batch.{{else}}Spawns ONE subagent per call to work in the background.{{/if}}
- Spawning is non-blocking: the call returns immediately with the agent id{{#if batchEnabled}}s{{/if}} and job id{{#if batchEnabled}}s{{/if}}; each result is delivered automatically when that agent yields.
- Parallelism = {{#if batchEnabled}}
tasks[]items in one call, and/or multipletaskcalls in one assistant message{{else}}multipletaskcalls in one assistant message{{/if}}. Concurrency is bounded at {{MAX_CONCURRENCY}} running subagents per session. - If genuinely blocked on a result, wait with
job poll; otherwise keep working.job cancelterminates a task and cannot carry a message — only for stalled/abandoned work. {{#if ircEnabled}} - Coordinate with running agents via
ircusing their ids. Agents reach you and their siblings live the same way. {{/if}}
{{#if batchEnabled}}