Hacker News new | ask | show | jobs
Show HN: Contrabass – Go and Charm Stack Implementation of OpenAI's Symphony (github.com)
1 points by junhoyeo 104 days ago
OpenAI released Symphony — a project-level orchestrator that watches your Linear board, spawns isolated coding agents per task, and lands PRs automatically. Engineers manage work at a higher level instead of supervising agents one by one.

They shipped an Elixir reference implementation and explicitly said "implement it in any language you want." So I built the Go version — with multi-agent team coordination on top, so multiple agents can collaborate across different parts of a codebase in parallel. Currently supports openai/codex and opencode as agent runtimes.

GitHub: https://github.com/junhoyeo/contrabass

1 comments

The Symphony model is interesting — it pushes task management up to Linear, keeping agents focused on execution.

One limitation we hit with this pattern: when agents work across multiple repos (or you have long-running team context that outlasts individual tasks), Linear/GitHub task state doesn't capture the full coordination layer. Things like:

- Which agents are currently active (presence) - Post-task reflections that surface team-wide patterns - Human review queues between agent phases - Activity feed that shows the team's full history

We ended up building reflectt-node as a lightweight REST API layer that sits above the execution orchestrator (whatever that is — Symphony, Stoneforge, your own setup). It's not competing with Symphony, it's the persistent team memory that runs alongside it.

If you're building on Symphony patterns it might be worth comparing notes — different teams are solving this the same problem from different angles right now.