Skip to content

[Enhancement] Sub-agent spawning API for parallel task execution #702

@OneStepAt4time

Description

@OneStepAt4time

Summary

Claude Code has an AgentTool that spawns sub-agents with isolated context for parallel task execution. Aegis could expose a similar API, allowing orchestrators to run multiple CC sessions in parallel from a single parent session.

CC Reference

  • src/tools/AgentTool/ — Sub-agent spawning tool
  • src/services/tools/toolHooks.ts — Sub-agent lifecycle hooks
  • src/types/hooks.tsSubagentStart, SubagentStop hook events
  • src/state/AppState.ts — Sub-agent state tracking

CC Architecture

  • AgentTool: spawns a new CC process with isolated context, parent context summary, and task prompt
  • Sub-agent lifecycle hooks: SubagentStart (before spawn), SubagentStop (after completion)
  • Context isolation: sub-agents get a summary of parent context, not full transcript
  • Parallel execution: multiple sub-agents can run simultaneously
  • Result aggregation: parent session receives sub-agent output when complete

Current Aegis Gap

  • Aegis creates independent sessions via POST /v1/sessions
  • No concept of parent-child session relationships
  • No way to spawn a session from within another session
  • No context sharing or result aggregation between related sessions

Proposed Implementation

  1. Add parentId field to session creation — links sessions hierarchically
  2. Add POST /v1/sessions/:id/spawn — spawn child session with parent context summary
  3. Track sub-agent state: pending, running, completed, failed
  4. GET /v1/sessions/:id/children — list child sessions with status
  5. Hook events: SubagentStart, SubagentStop for lifecycle management
  6. Future: automatic context summarization from parent to child

Priority

P2 — key differentiator for multi-agent orchestration

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions