Skip to main content

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: agent:coder, agent:ops, agent:docs.

Webhook receiver

A GitHub Action triggered by Plane webhooks. Routes task events to the dispatcher.

Dispatcher (planned)

Matches tasks to agents based on:

  • Role match — Task label matches agent role
  • Capacity — Agent's max_concurrent_tasks not exceeded
  • Availability — Agent status is active

Agent executor (planned)

K8s Job-based execution in isolated containers. Each agent run gets:

  • Fresh repo checkout
  • Agent-specific credentials (from Astra Token Vault)
  • System prompt with personality and guardrails
  • Resource limits (CPU, memory, time)

Current status

Phase 1 uses manual agent dispatch (human assigns task, agent is invoked via Claude Code). Automated dispatch via K8s Jobs is designed and planned for Phase 2.

What's next