Conducting a Headless Symphony

March 16, 2026

Conducting a Headless Symphony
#blog

Contents

Symphony of agents

OpenAI recently shipped Symphony which enables a Linear-driven coding agent swarm. Now what the heck do I mean by all those words?

Linear-driven

When we think of using computers to write code or make apps, we often have this image in our heads:

Hacker getting access to the mainframe
Hacker getting access to the mainframe

That all real technical work involves "plugging in" or spinning up terminals and multiplexers just to get the job done. While a decent amount of buzz in the industry centers around using LLMs for programming and often in a terminal, it doesn't mean those who are less familiar with development environments can't also leverage modern technologies to bring their ideas to life.

What Symphony provides is an integration between a popular task management software, Linear, and your agentic developers. Rather than boot up another TUI, folks can define tasks and projects in Linear as they normally would but, instead of waiting on an engineering team to pick up an initiative, agents pick up tickets in the background and bring the productivity of your team to life.

No-code brought about an advancement in the industry when tools offered a solution for non-technical teammates to answer questions or solve problems without having to poke a backend engineer for permission to view a table in a SQL database. Projects like Symphony continue this story further by empowering people to do things that otherwise might have required more time and resources to fulfill thanks to AI.

Coding agent

A simplified history of how AI got involved in coding agents is:

  1. We found a program that's actually good with natural language (LLMs)
  2. We found out these programs can construct JSON output (functions and tool calling)
  3. We found out these programs can simply be let run in a while loop and anthropomorphized (agents)
  4. Rather than copy and paste output into an IDE, letting an agent run with coding-related tools gives you a coding agent!
Agent REPL Loop
Agent REPL Loop

Today you can pick your poison whether that's Claude Code, Codex, Gemini, Pi, or one of the others. In place of a computer science degree to grok how operating systems work, you can specify your idea in plain English and get back out a functioning application!

The reason AI can be proficient at programming is code, like a cooking recipe or carpentry instructions, is fundamentally just text. Sure, code is particular type of text that in some environments can describe instructions for some computer to follow. With the core of LLMs being language and text, it's clear in retrospect that AI would find a use case with software development.

Swarm

The saying "two heads are better than one" is as true for people as it is for coding agents. While there is certainly the joke about a single engineer being more productive than several engineers attempting to delegate tasks, with decent organization the results can clearly speak for themselves.

Folks have found a variety of systems for organizing coding agents from sub-agents to multi-agent heirarchies but the same underlying principle remains the same: swarms of agents acting in organization towards an objective. A fundamental difference in user experience between using a coding agent versus a swarm is the former has the person communicating with a single artificial developer to accomplish the stated goals whereas the latter has the person acting more as a manager or diplomat.

Single Agent vs Swarm
Single Agent vs Swarm

A perhaps beautiful thing about swarms is they effectively make skills and capabilities horizontally scalable. Instead of treating sprints as a game of excluding things out of scope, sprints can be a recap of how everyone's "code cannons" blasted off.

Example of agent-driven rather than agent-led

A popular concept in companies is the idea of being "data driven" however this can run into two easy problems. First being Goodhart's Law

A measure that becomes a metric ceases to be a good measure in the first place.

And the second being when decisions are data-led rather than data-driven.

Suppose you have a website and want to improve the overall volume of time spent by people on your website. One solution would be introducing dark patterns which make it trickier to use your website, thereby increasing the amount of time spent on your URL. Another solution would be improving referrals so more people ultimately end up on your website. The first is chasing the number to go up and the latter is an idea that'd lead to further engagement as well as new people.

Coding agents are a powerful tool but they're not the genie to solve all your problems. If you took a group of carpenters, even if they were extraordinarily skilled, put them on a lot of land and said "make a house", they'd likely bumble for a while planning what they're building exactly. This is assuming they don't just drop the job for being mysteriously unpaid.

Folks who use agents in CI like the Claude Code GitHub action will usually fire them off with some shortlived goal like reviewing code quality or doing a sanity check with tests. In these cases, the overall SDLC is led by GitHub but it's fueled further with the use of these asynchronous agents. In industry there are richer examples with Stripe's minions or Ramp's background agents which have a variety of inputs from customer issue software to tagging on Slack.

Every successful application of AI has done little to an existing UI or usage pattern. Cursor is visually just VS Code. Perplexity is visually similar to Google. Cline is visually just another VS Code extension. Phone support agents communicate with people in a way that's indifferentiable to ordinary people. The application of AI to company workflows are going to thrive when they augment existing functions rather than supplant them outright.

Org Chart AI Variants
Org Chart AI Variants

The "solution" for AI to seep into company operations is one where AI empowers orgs and teams to fulfill their expectations and requirements more proficiently. While there's a tricky dilemma of not wanting to automate your job in fear of being replaced with the AI you created, I'd argue that even applying these practices in secret and having employees appear magically more productive gains similar results.

Flashy demos

From Cursor developing a browser that's really built on top of well solved technologies to Anthropic making a C compiler that's leaning heavily on test suites consisting of decades of knowledge. There's no point in jabbing at what are indisputably impressive technical projects when tidied up so instead we can look at and appreciate that the orchestrations and harnesses these experiments got run in were highly intentional.

Neither of those experiments had a "just grabbed this off the shelf and used it right away", both were agent-driven but not agent-led in terms of humans defining organizational structure but coding agents fueling it further.

How to deploy your own Symphony

If you made it to here and are interested in testing out Symphony in a headless environment so you can close your laptop but have Linear tasks continuously grinded in the background, you're in the right place.

Set up Vers

Go ahead and follow the Quickstart instructions so you have the local capabilities to spawn Vers VMs.

Set up OpenAI

Get or create an OpenAI API key if you don't already have one saved to OPENAI_API_KEY in your environment variables. You can manage your OpenAI API keys right here.

Set up Linear

Create a new Linear project or use an existing one, you'll want to want to grab the slug of the project not the org or team. When you navigate to the project overview page, your URL will look something like the below.

https://linear.app/<ORG>/project/<PROJECT_SLUG>/overview

Be sure to write down the PROJECT_SLUG string so you can refer to it later on. Additionally you'll want to get an API key (which you can do right here) and save it to LINEAR_API_KEY.

Let it rip!

In the spirit of Beyblade, it's time to let it rip. Have your coding agent clone this repo

pi "Clone git@github.com:hdresearch/symphony.git and follow the instructions, tell me when there's a *.vm.vers.sh URL I can access to view the Symphony dashboard"
# Or code, codex, gemini, etc

Or, you could clone it yourself.

git clone https://github.com/hdresearch/symphony.git
cd symphony

And then run a coding agent to follow the instructions in README.md.

pi "Follow the instructions, tell me when there's a *.vm.vers.sh URL I can access to view the Symphony dashboard"
# Or code, codex, gemini, etc

You may need to clarify to your coding agent where the API keys or Linear project slug are saved and prompt it away from rewriting the UI if you'd like to stick to OpenAI's original project.

At the end of it all, you'll receive a URL back from the coding agent which is a link to your Symphony dashboard.

Symphony on Vers
Symphony on Vers

At this point you can close your coding agent session and work from this point on with only a web browser!

Example usage

From the Linear board, create a task.

Creating Issue
Creating Issue

Then you'll see it for a bit depending on how long the task takes to resolve.

Task Picked Up
Task Picked Up

After a jiffy, you'll find the ticket automatically marked as "Done" with the result commented on the original ticket.

Task Done
Task Done