pi-symphony

extensionmaintained

Unattended issue orchestration for Pi — polls Linear, spawns workers, manages PRs

by · v0.3.1 · published 4mo ago

$ pi install npm:pi-symphony
downloads/mo
0
stars
5
last push
2mo ago
open issues
14

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

242 downloads · last 12 weeks (weekly)

README

pi-symphony

Symphony-style unattended issue orchestration for Pi using Linear.

Status

Agent: Functional — the core orchestration loop, PR automation, and merge execution are implemented. Not yet running in production. Translation: This will let you give in to vibeslop agentically engineer at a new level of abstraction.

What it does

  • Polls a Linear board for eligible issues
  • Creates an isolated workspace per issue
  • Launches a Pi coding worker in RPC mode
  • Lets the worker implement autonomously within repo-defined policy
  • Manages the full PR lifecycle: create/reuse PRs, self-review, merge execution
  • Captures proof-of-work artifacts and surfaces status through a dashboard and JSON API
  • Writes local-first symphony_run analytics extracts for worker attempts under the run logs root
  • Retries, reconciles, and recovers safely

Architecture

  • Orchestrator (Elixir/OTP) — long-running daemon adapted from OpenAI Symphony
  • Worker extensions (TypeScript) — workspace-guard, proof, linear-graphql
  • Workflow contract — repo-owned WORKFLOW.md with policy-driven prompt templates

Development quick start

make setup
make check

See docs/DEV.md for the full developer workflow.

Repo shape

pi-symphony/
  orchestrator/elixir/  # Elixir/OTP orchestrator (adapted from OpenAI Symphony)
  extensions/           # Pi worker extensions
  examples/             # fixtures and sample workflows
  docs/                 # architecture, developer docs, contracts
  docs/archive/         # historical migration notes

Docs

License

MIT for original project code. Vendored third-party code retains its upstream license; see THIRD_PARTY_NOTICES.md.