What is Symphony?
Symphony is an orchestrator that bridges the gap between issue trackers and AI coding agents. Instead of manually launching agents for each task, Symphony continuously monitors your Linear project, automatically dispatches work to agents in isolated environments, and handles the entire lifecycle from issue assignment to completion.Symphony works best in codebases that have adopted harness engineering practices. It represents the next step—moving from managing coding agents to managing work that needs to get done.
Why Symphony Exists
Symphony solves four operational problems that teams face when working with AI coding agents:Repeatable Workflow
Turns issue execution into a repeatable daemon workflow instead of manual scripts. No more ad-hoc agent invocations.
Workspace Isolation
Isolates agent execution in per-issue workspaces so agent commands run only inside dedicated workspace directories, protecting your main codebase.
Version-Controlled Policy
Keeps workflow policy in-repo (
WORKFLOW.md) so teams version the agent prompt and runtime settings alongside their code.Observability
Provides enough observability to operate and debug multiple concurrent agent runs with structured logs and optional dashboards.
How It Works
Symphony operates as a continuous loop:Poll Linear
Regularly checks your Linear project for issues in active states (e.g., “Todo”, “In Progress”)
Create Workspace
For each eligible issue, creates an isolated workspace directory and runs setup hooks (like cloning your repository)
Launch Agent
Starts a Codex agent session in App Server mode with a customized prompt based on the issue details
Monitor & Manage
Tracks the agent’s progress, handles retries on failures, and stops agents when issues move to terminal states
Who Should Use Symphony?
Symphony is designed for engineering teams that:- Have mature codebases with good test coverage, CI/CD, and automated validation
- Want to scale development by delegating routine tasks to AI agents
- Use Linear for project management and issue tracking
- Operate in trusted environments where automated code changes are acceptable with appropriate review processes
- Value reproducibility and want to version-control their automation policies
Key Benefits
Unattended Execution
Once configured, Symphony runs continuously without human intervention. Agents work on issues autonomously, committing code, running tests, and creating pull requests for review.Concurrency Control
Symphony manages multiple agent sessions simultaneously with configurable concurrency limits—both global and per-issue-state. This prevents resource exhaustion while maximizing throughput.Smart Retry Logic
When agents encounter transient failures, Symphony automatically retries with exponential backoff. It also handles continuation—restarting agents when issues remain in active states after a session completes.State Reconciliation
Symphony continuously monitors issue states in Linear. If an issue moves to a terminal state (“Done”, “Closed”) while an agent is working, Symphony stops the agent and cleans up the workspace.Important Boundaries
Symphony is a scheduler and runner, not a ticket manipulation engine:
- Symphony reads from Linear to discover work
- Coding agents write to Linear using their own tools (state transitions, comments, PR links)
- A successful run may end at a workflow-defined handoff state (e.g., “Human Review”), not necessarily “Done”
Implementation Options
You have two ways to adopt Symphony:Build Your Own
Use the language-agnostic specification to implement Symphony in your preferred programming language
Use Reference Implementation
Try the experimental Elixir/OTP reference implementation (evaluation only)
Next Steps
Core Concepts
Learn about orchestrator state, workspaces, workflow files, and agent sessions
Quick Start
Get Symphony running in your environment