Skip to main content
Symphony is a long-running automation service that continuously reads work from an issue tracker (Linear), creates isolated workspaces for each issue, and runs coding agent sessions to complete the work autonomously.

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:
1

Poll Linear

Regularly checks your Linear project for issues in active states (e.g., “Todo”, “In Progress”)
2

Create Workspace

For each eligible issue, creates an isolated workspace directory and runs setup hooks (like cloning your repository)
3

Launch Agent

Starts a Codex agent session in App Server mode with a customized prompt based on the issue details
4

Monitor & Manage

Tracks the agent’s progress, handles retries on failures, and stops agents when issues move to terminal states
5

Handoff

Agents complete work and move issues to review states, where humans approve or request changes

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
Symphony is currently a low-key engineering preview intended for testing in trusted environments. It is not recommended for production use without proper hardening and security review.

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”
This separation keeps Symphony focused on orchestration while allowing workflow prompts to define exactly how agents should interact with Linear and GitHub.

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)
The Elixir reference implementation is prototype software intended for evaluation only. For production use, we recommend implementing your own hardened version based on the specification.

Next Steps

Core Concepts

Learn about orchestrator state, workspaces, workflow files, and agent sessions

Quick Start

Get Symphony running in your environment

Build docs developers (and LLMs) love