Symphony turns project work into isolated, autonomous implementation runs, allowing teams to manage work instead of supervising coding agents.
Build an autonomous work management system that spawns isolated AI agent runs to handle tasks from Linear boards and safely merge completed work.
I want you to build Symphony, which is a system that turns project work into isolated, autonomous implementation runs. The core idea is that instead of supervising coding agents directly, teams manage work items (like tasks on a Linear board), and Symphony spawns agents to handle each task autonomously.
Here's what Symphony should do: Monitor a work management system like Linear for new tasks or work items. When it finds work, it spawns an isolated implementation run that gives an AI agent everything it needs to complete that specific task. The agent works autonomously in that isolated environment, makes changes, runs tests, and provides proof of work like CI status, PR review feedback, and complexity analysis. Once the agent finishes, Symphony helps land the work safely, like merging PRs. Engineers manage the work at a higher level instead of babysitting agents.
The reference implementation is in Elixir, so use that tech stack. Elixir is a great choice here because it's built for concurrent, distributed systems and fault tolerance, which is perfect for spawning and managing multiple autonomous agent runs in parallel.
Key architectural pieces you need: A specification that defines how Symphony should work (check SPEC.md for the detailed contract). A work queue or polling system that watches for incoming tasks from Linear or similar tools. An isolation layer that sets up clean environments for each agent run, probably using containers or similar. Integration with an AI coding agent (like Claude Code) that can take a task and implement it. A proof of work system that captures what the agent did, including test results, complexity metrics, and video walkthroughs. A safe landing mechanism for accepting and merging completed work back into the main codebase.
The system should be designed so that each task runs independently and can fail gracefully without affecting others. You need good observability and logging so teams can see what agents are doing and make decisions about accepting or rejecting their work.
Build this as a framework or reference implementation that teams can customize for their own repositories and work management tools. Make it modular so people can swap out pieces like the work queue source or the AI agent backend. Include documentation on how to set up the environment and integrate it with existing codebases, especially those using harness engineering practices.