Skip to content
ahammerPublic
forked from openai/symphony

About

Crescendo runs autonomous coding agents across several repositories from one local service. Based on OpenAI's Symphony.

Resources

Stars

5 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

151 Commits

Folders and files

Repository files navigation

Crescendo

Crescendo runs autonomous coding agents across several repositories from one local service. Each project's issues and pull requests become isolated agent runs. The projects share the worker slots, a daily budget and the Codex quota, and a read-only dashboard shows everything in one place.

Crescendo is based on Symphony by OpenAI (Apache-2.0) and implements its specification. On top of the Symphony reference implementation it adds:

  • One service for many projects. A local crescendo.yml names the projects; slots are shared by weight (weights 3,1,1 give the first project about three times the work), with optional caps.
  • Read-only helpers. Up to five global Luna max helpers work alongside primary agents, using pinned source and bounded text evidence without machine leases.
  • Throttling. An enforced daily budget that keeps closing open work (pull request reviews, final attempts and continuations still run), and model back-off when the Codex quota runs low.
  • Planning preflight. Versioned observation-only handoffs can skip unchanged planning work while retaining pending coverage, publication and delivery protection. Rollout and canary.
  • Model routing. A ladder that climbs on failed attempts, size labels that start small work on a cheaper model, and effort floors.
  • Autopilot. Pull requests are reviewed and merged, stuck model work is retried and then delivered in part or closed with canonical outcome budgets preserved across replacements (nothing waits on an operator), and an empty queue is refilled by research runs per configurable channel. Startup failures preserve the item and dependencies for controlled recovery.
  • A read-only dashboard across projects, with a filter per project and a bounded history API for retrospectives. Dispatch details show global research reservations, helper capacity, quota pacing, quiet acceptance windows and deployment drain ownership. Managed abandonment recovery preserves manual holds and live swaps. Prepared issue deliveries can yield once per logical attempt for their configured quiet window, retaining the same issue, PR, source/evidence identity and unmet acceptance across restart.
  • Thread usage accounting that reconciles late terminal events and survives worker restarts, with native billing coverage and conservative, opt-in issue-thread resumption. Retained issue delivery evidence links explicit worker sources, canonical report verification and tracker dispositions. API estimates remain distinct from verified costs. See the token-cache plan and rollout gates.

All configuration is local: docs/crescendo.md covers the service file, and elixir/README.md covers setup and the per-project WORKFLOW.md. Operators can set a shared OpenAI Fast-mode default through local MCP; the dashboard shows its status without exposing configuration controls.

Warning

Crescendo is an engineering preview for trusted environments. Its agents run without the usual guardrails.

Quick start

cd elixir
mise trust && mise install
mise exec -- mix setup && mise exec -- mix build

Create the service file and its first project using the first-service walkthrough before launching:

CRESCENDO_DIR="${CRESCENDO_DIR:-$HOME/.config/crescendo}"
mise exec -- ./bin/crescendo "$CRESCENDO_DIR/crescendo.yml" --logs-root "$CRESCENDO_DIR/logs" \
  --i-understand-that-this-will-be-running-without-the-usual-guardrails

A single WORKFLOW.md still runs one project on its own, as Symphony does: ./bin/crescendo path/to/WORKFLOW.md --i-understand-that-this-will-be-running-without-the-usual-guardrails.

About Symphony

Symphony turns project work into isolated, autonomous implementation runs, so teams manage work instead of supervising coding agents. SPEC.md is the upstream Symphony specification, kept as published; Crescendo's extensions are documented in docs/crescendo.md.

License

This project is licensed under the Apache License 2.0. See NOTICE for attribution.

About

Crescendo runs autonomous coding agents across several repositories from one local service. Based on OpenAI's Symphony.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages