Symphony#
Open-source orchestration service by OpenAI that turns issue tracker work into isolated, autonomous coding agent runs. Published as a language-agnostic specification (SPEC.md) with an Elixir reference implementation.
Key Facts#
- Repository: https://github.com/openai/symphony
- Organization: openai-org
- License: Apache 2.0
- Stars: 23K
- Language: Elixir (reference), spec is language-agnostic
- Agent runtime: Codex app-server
- Issue tracker: Linear (only, currently)
- Approach: Spec-first — teams implement the protocol in their own language
Core Design#
- WORKFLOW.md — Single file containing prompt template (Markdown body) + runtime config (YAML front matter). Version-controlled with the codebase. Dynamic reload without restart.
- Scheduler/runner only — Reads issues, dispatches agents, tracks state. Does NOT write to the tracker. Clear separation of concerns.
- Per-issue workspace isolation — Sanitized paths, contained under root, lifecycle hooks
- In-memory state — No database. Recovery via tracker polling + preserved workspaces.
- Multi-turn sessions — Up to 20 turns per worker, continuation without re-sending prompt
Differentiators#
- Only spec/protocol in the wiki (not a framework, library, or product)
- Strongest “policy-as-code” implementation (everything in WORKFLOW.md)
- Assumes “harness engineering” as prerequisite
- Intentionally minimal — no UI, no database, no multi-tenant