Dispatch architecture
The dispatch system connects task management (Plane) to agent execution. This page covers the full flow from task creation to result delivery.
Components
Plane (task management)
Tasks are created in Plane with labels that indicate required capabilities:
| Label | Dispatches to | Example tasks |
|---|---|---|
agent:coder | Backend/frontend coders (Vega, Rigel) | Add endpoint, fix bug, implement feature |
agent:ops | Ops agents (Altair) | Terraform changes, Helm updates, CI fixes |
agent:docs | Docs agents (Lyra) | Write docs page, update ADR, fix diagrams |
agent:reviewer | Reviewer agents (Sirius) | Code review, security audit |
Webhook receiver
A GitHub Action triggered by Plane webhooks. Routes task events to the dispatcher.
Dispatcher
Matches tasks to agents based on:
- Role match — Task label matches agent role
- Capacity — Agent's
max_concurrent_tasksnot exceeded - Availability — Agent status is
active - Specialization — If multiple agents match, prefer the one with relevant skills
Agent executor (planned)
K8s Job-based execution in isolated containers. Each agent run gets:
| Resource | Detail |
|---|---|
| Repo checkout | Fresh clone, correct branch |
| Credentials | Agent-specific tokens from Astra Token Vault |
| System prompt | Personality + guardrails + context loading instructions |
| Resource limits | CPU: 2 cores, Memory: 4Gi, Time: 30 min max |
| Isolation | Separate K8s namespace, no cross-agent access |
Current status
info
Phase 1 uses manual agent dispatch — human assigns task in Plane, agent is invoked via Claude Code. Automated dispatch via K8s Jobs is designed and planned for Phase 2.
| Component | Phase 1 | Phase 2 |
|---|---|---|
| Task creation | Plane (manual) | Plane (automated labels) |
| Dispatch | Human assigns | Astra dispatcher (automated) |
| Execution | Claude Code (local) | K8s Jobs (isolated) |
| Result delivery | Manual PR | Automated PR + Plane update |
| Monitoring | Git log | Astra dashboard |
What's next
- Workforce overview — Full agent catalog
- Adding a new agent — Agent provisioning
- How to create an agent task — Task creation guide