Go implementation of the core Symphony service from the upstream SPEC.md.
Build one static binary:
CGO_ENABLED=0 go build -buildvcs=false -trimpath -ldflags='-s -w' -o bin/symphony ./cmd/symphonyRun it with a repository-owned workflow file:
export LINEAR_API_KEY=...
./bin/symphony /path/to/repo/WORKFLOW.mdImplemented core behavior:
WORKFLOW.mdloading with YAML front matter, Liquid prompt rendering, defaults,$VAR,~, relative workspace roots, validation, and live reload.- Linear GraphQL candidate polling, terminal-state startup cleanup, and issue-state reconciliation.
- Deterministic per-issue workspaces with path containment checks and lifecycle hooks.
- Bounded orchestration with active/terminal filtering, Todo blocker checks, priority sorting, continuation retries, failure backoff, and stall cancellation.
- Codex app-server launch over stdio with the configured approval and sandbox policy.
Documented runtime posture:
- Default Codex approval policy rejects sandbox approval, rules, and MCP elicitation requests unless the workflow overrides it.
- Default thread sandbox is
workspace-write. - Default turn sandbox policy is
workspaceWriterooted at the issue workspace with network disabled unless the workflow overrides it. - User-input-required and approval-required app-server flows are not auto-resolved by this implementation; they fail by timeout or app-server failure rather than waiting for an operator channel.
Extensions such as a web dashboard, SSH workers, and the optional linear_graphql dynamic tool are not included in this core binary.