OpenAI has released symphonyAn open-source framework designed to manage autonomous AI coding agents through structured ‘implementation runs’. This project provides a system to automate software development tasks by connecting issue trackers to LLM-based agents.
System Architecture: Amrit and Kiran
Created using Symfony Nectar and this Erlang/BEAM Runtime. The choice of stack focuses on fault tolerance and concurrency. Since autonomous agents often perform long-running tasks that may fail or require retries, BEAM’s supervision trees allow Symphony to manage hundreds of separate execution runs simultaneously.
uses the system PostgreSQL (via Ecto) Designed for state persistence and to run as a persistent daemon. This operates by polling an issue tracker – which is currently the default linear– Identifying the tasks that an agent is ready to perform.
implementation run lifecycle
The main unit of work in a symphony is run implementation. The lifecycle of a race follows a specific sequence:
- Polling and Triggering: Monitors a specific status in the Symfony issue tracker (for example, ‘Ready for Agent’).
- Sandbox Isolation: For each issue, the outline creates a deterministic, per-issue scope. This ensures that the agent’s activities are restricted to a specific directory and do not interfere with other concurrent runs.
- Agent Execution: An agent (usually using OpenAI’s models) is invoked to perform the task described in the issue.
- Proof of Work: Before a task is considered complete, the agent must provide ‘Proof of Work’. This includes creating CI status reports, passing unit tests, providing PR review feedback, and creating walkthroughs of changes.
- Description: If the proof of work is verified, the agent ‘lands’ the code by submitting or merging a pull request (PR) into the repository.
Configuration via WORKFLOW.md
Symfony uses an in-repo configuration file called WORKFLOW.md. This file serves as a technical contract between the developer team and the agent. It has:
- The agent’s primary system instructions and signals.
- Runtime settings for the implementation environment.
- Specific rules for how the agent should interact with the codebase.
By placing these directives in the repository, teams can version-control their source code as well as their agent policies, ensuring that the agent’s behavior remains consistent with the specific version of the codebase it is modifying.
Harness Engineering Requirements
Documentation specifies that Symfony is most effective in a practice environment harness engineering. It refers to a repository structure that is optimized for machine interaction. Main requirements include:
- Hermetic Testing: Tests that can run locally and reliably without external dependencies.
- Machine-readable documents: Documentation and scripts that allow an agent to figure out how to build, test, and deploy a project autonomously.
- Modular Architecture: Codebase where side effects are minimized, allowing agents to make changes with high confidence.
key takeaways
- Fault-tolerant orchestration via Elixir: uses symfony Elixir and Erlang/BEAM runtime To manage the agent lifecycle. This architectural choice provides the high concurrency and fault tolerance needed to monitor long-running, independent ‘execution runs’ without system-wide failures.
- State-managed implementation runs: The framework transforms AI coding from manual prompting to automated loops: it Poll Issue Trackers (like Linear)Creates isolated sandboxed workspace, executes the agent, and requires ‘proof of work’ (CI pass and walkthrough) before merging the code.
- Version-controlled agent contracts: Through
WORKFLOW.mdSpecifications, agent prompts, and runtime configuration are stored directly in the repository. It treats the AI’s operating instructions as code, ensuring that the agent’s behavior is versioned and synchronized with the specific branch it is modifying. - Dependence on Harness Engineering: To make the system effective, the repository must be adopted harness engineering. This includes structuring the codebase for machine readability, including hermetic (self-contained) test suites and modular architectures that allow agents to verify their own work autonomously.
- Focused Scheduler Scope: Symphony is strictly defined Scheduler, Runner & Tracker Reader. It is designed specifically to bridge the gap between project management tools and code execution, rather than acting as a general-purpose multi-tenant platform or comprehensive workflow engine.
check it out repo here. Also, feel free to follow us Twitter And don’t forget to join us 120k+ ml subreddit and subscribe our newsletter. wait! Are you on Telegram? Now you can also connect with us on Telegram.
