<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>elixir on tomrochette.com</title>
    <link>https://tomrochette.com/tags/elixir/</link>
    <description>Recent content in elixir on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Sun, 11 Oct 2026 02:01:18 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/elixir/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Symphony</title>
      <link>https://tomrochette.com/agents/orchestration/symphony/</link>
      <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/orchestration/symphony/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>orchestration</category><category>multi-agent</category><category>elixir</category><category>openai</category>
      <description>&lt;p&gt;Symphony is OpenAI&amp;rsquo;s Apache-2.0 orchestration service that polls an issue tracker, gives each issue an isolated workspace, and runs an autonomous coding-agent session until the work reaches a handoff state such as Human Review or a merged PR.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Its bet is that the deliverable is the spec, not the app: SPEC.md defines the scheduler in language-agnostic RFC-2119 terms, an Elixir reference implementation is offered as a prototype, and teams are told to harden or reimplement their own.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A long-running daemon (OpenAI calls it a &amp;ldquo;low-key engineering preview for testing in trusted environments&amp;rdquo;) that reads candidate work from a tracker on a fixed cadence, dispatches with bounded concurrency, and keeps workflow policy in a repo-committed WORKFLOW.md so prompts and runtime settings version with the code.&#xA;The reference implementation drives Codex in App Server mode and ships tracker adapters for Linear, GitHub Issues, Jira Cloud, Asana, and GitLab, executing provider-native tools host-side so the agent child process never holds raw tracker tokens.&#xA;Per-issue workspaces are deterministic and preserved across runs, terminal-state issues stop their active runs, and restart recovery is tracker- and filesystem-driven with no persistent database.&#xA;It is made by OpenAI, works best in codebases that have adopted its harness-engineering practice (its own README&amp;rsquo;s positioning), and self-contained executables ship via Burrito alongside the mise-managed Elixir setup.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Quiet preview: 27,619 stars as of 2026-10-10 on a repository created 2026-02-26 (GitHub API), with both the default branch and the release line last touched 2026-09-15, 25 days before this check.&#xA;The GitHub release line holds four tags: v0.0.2 (2026-07-24), v0.0.3 and a nightly (both 2026-09-15), and nothing since.&#xA;The Elixir reference implementation carries its own warning that it is prototype software for evaluation only.&lt;/p&gt;&#xA;&lt;picture&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://api.star-history.com/chart?repos=openai/symphony&amp;type=date&amp;theme=dark&amp;legend=top-left&#34; /&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://api.star-history.com/chart?repos=openai/symphony&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;  &lt;img alt=&#34;Star History Chart&#34; src=&#34;https://api.star-history.com/chart?repos=openai/symphony&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;&lt;/picture&gt;&#xA;&lt;p&gt;&lt;strong&gt;The independent footprint is thin for 27.6k stars: the biggest Hacker News thread about it is 25 points with three comments (2026-03-04), and the sharpest comment there calls the spec &amp;ldquo;inscrutable agent slop&amp;rdquo; that lists database fields without describing its own state machine.&lt;/strong&gt;&#xA;The spec has nonetheless spawned third-party implementations, including a one-file sandboxed example, a Codex-and-Linear bootstrap, and a Go port called Contrabass, which is evidence the contract, not the code, is what spread.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The spec-first packaging makes the orchestration contract portable: any team can implement Symphony in its own language and own the hardening.&lt;/li&gt;&#xA;&lt;li&gt;Host-side credential handling is a design point: tracker tools execute with host-held tokens and declared secrets are stripped from the agent&amp;rsquo;s environment.&lt;/li&gt;&#xA;&lt;li&gt;The WORKFLOW.md contract keeps prompts, statuses, and runtime policy versioned in the repo, and runs recover from tracker and filesystem state without a database.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The reference implementation is a self-declared prototype for trusted environments, and the spec deliberately leaves approval, sandbox, and confirmation policy implementation-defined, so safety is whatever the implementer builds.&lt;/li&gt;&#xA;&lt;li&gt;The release train stopped at v0.0.3 on 2026-09-15 with preview warnings in both READMEs, so there is no supported product here.&lt;/li&gt;&#xA;&lt;li&gt;The reference implementation couples to Codex in App Server mode and to non-standard Linear statuses (Rework, Human Review, Merging) that a team must add to its workflow.&lt;/li&gt;&#xA;&lt;li&gt;Blocked-issue state lives in memory only and clears on restart, so a restart can re-dispatch work a human had parked.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Free and open source under Apache-2.0; you bring the Codex subscription and the tracker credentials, and OpenAI charges nothing for the service itself as of 2026-10-10.&#xA;No price history table until a paid tier exists.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/archon/&#34; &gt;Archon&lt;/a&gt;: the committed-YAML workflow engine over Claude Code and Codex SDKs; choose Archon for process-as-workflows with triggers, Symphony for issue-tracker-driven autonomous runs under a portable spec.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/bernstein/&#34; &gt;Bernstein&lt;/a&gt;: the deterministic scheduler with merge gates and audit receipts; Bernstein owns verification policy, Symphony owns work intake.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/agent-swarm/&#34; &gt;Agent Swarm&lt;/a&gt;: the lead/worker intake platform shipping PRs from chat and issue intake; Agent Swarm is a product you deploy, Symphony is a contract you implement.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for teams already running harness-engineered repos on Linear or GitHub Issues who want issue-driven autonomous runs and accept that they are adopting a spec plus a prototype.&lt;/strong&gt;&#xA;Not for anyone who needs a supported product, a UI-first session supervisor, or non-Codex agents from the reference implementation.&#xA;My disagreeable claim: &lt;strong&gt;the 27.6k stars measure OpenAI&amp;rsquo;s brand on a preview, because a 25-point launch thread, a train stopped since mid-September, and a reference implementation its own authors call prototype make this a design document wearing a repository&amp;rsquo;s clothes.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-10 - Created from the orchestration entrant scan, the queue-flagged carve-out from the mission-control-tail family rejection.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/archon/&#34; &gt;Archon&lt;/a&gt; - the closest committed-workflow runner in the category&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/bernstein/&#34; &gt;Bernstein&lt;/a&gt; - the deterministic-scheduler alternative for policy-owned coordination&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/agent-swarm/&#34; &gt;Agent Swarm&lt;/a&gt; - the deployable product counterpart for issue-to-PR intake&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/crewplane/&#34; &gt;Crewplane&lt;/a&gt; - the Markdown-workflow runner with on-disk run records&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/orchestration/orchestration-feature-matrix/&#34; &gt;Orchestration Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/openai/symphony&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/openai/symphony&lt;/a&gt; - repository, README positioning, preview warning, and license&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.github.com/repos/openai/symphony&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.github.com/repos/openai/symphony&lt;/a&gt; - stars, created and pushed dates, and license, as of 2026-10-10&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.github.com/repos/openai/symphony/releases&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.github.com/repos/openai/symphony/releases&lt;/a&gt; - the release line: v0.0.2 (2026-07-24), v0.0.3 and nightly (2026-09-15)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/openai/symphony/main/SPEC.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/openai/symphony/main/SPEC.md&lt;/a&gt; - Draft v1 spec: problem statement, goals, non-goals, and implementation-defined policy&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/openai/symphony/main/elixir/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/openai/symphony/main/elixir/README.md&lt;/a&gt; - the reference implementation: Codex App Server mode, five tracker adapters, host-side auth, blocked-state behavior&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hn.algolia.com/api/v1/search?query=openai%20symphony&amp;amp;tags=story&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=hn.algolia.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://hn.algolia.com/api/v1/search?query=openai%20symphony&amp;tags=story&lt;/a&gt; - the thin HN footprint, queried 2026-10-10&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hn.algolia.com/api/v1/items/47252045&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=hn.algolia.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://hn.algolia.com/api/v1/items/47252045&lt;/a&gt; - the 25-point launch thread with the &amp;ldquo;inscrutable agent slop&amp;rdquo; spec critique&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
