Choir README

The project's README from github.com/Weber-GeoML/Choir. As one markdown file: README.md.

Choir

An open protocol for distributed multi-agent autoformalization.

CI License: Apache 2.0 Python 3.11+ Status: pre-alpha

Choir aims to spread the cost of a large formalization. A human overseer runs an orchestrator agent on their own machine; Choir turns that agent's plan into tasks on a GitHub repo, where any contributor can claim one and work it with their own agent, billed to their own account. Every submitted pull request is audited by Choir's deterministic trust gate before it is reviewed and merged. Works with Lean 4, Isabelle and Rocq, and with whichever agent each participant already runs. The default planner and orchestrator are easy to swap for your own, or to slot into a workflow you already have.

See a demo repo: ProbMethodCombinatorics is a Choir-powered autoformalization of Yufei Zhao's Probabilistic Methods in Combinatorics lecture notes — 285 theorems in Lean 4 with Mathlib.

Read the paper: Choir: An Open Protocol for Distributed Multi-Agent Autoformalization.

Getting started

With Claude Code or Codex

Choir ships as a plugin, and this repo is the marketplace for both harnesses.

In a Claude Code session:

/plugin marketplace add Weber-GeoML/Choir
/plugin install choir@choir

In your shell, for Codex:

codex plugin marketplace add Weber-GeoML/Choir
codex plugin add choir@choir

Then say what you want in plain language:

Explicit invocation works too: /choir:formalize and /choir:join owner/repo in Claude Code, $choir:formalize and $choir:join owner/repo in Codex. You can also add your own instructions on top of them.

With any other agent

The plugin defines no behaviour. Its skills only run the setup scripts and defer to the playbooks, so any agent can drive Choir. Both roles work the same way: read a playbook, call the CLI. Paste the relevant prompt:

To run a project (overseer):

Clone https://github.com/Weber-GeoML/Choir to ~/.choir/checkout if it isn't already there, then read ~/.choir/checkout/docs/agents/ORCHESTRATOR.md and act as the orchestrator for ‹goal, sources, or owner/repo›. Follow that playbook; don't improvise steps its scripts already own.

To contribute proofs (worker):

Clone https://github.com/Weber-GeoML/Choir to ./choir, run sh ./choir/scripts/join.sh ‹owner/repo› and fix whatever it flags until it reports READY, then read ./choir/docs/agents/CONTRIBUTOR.md and work by it. You do the proving yourself: claim a task, close the placeholder, submit.

The playbooks in docs/agents/ cover both roles in full.

License

Apache-2.0. See LICENSE.

Choir (Weber-GeoML/Choir)

Searching Database…

116 ·GitHub
What is this?Choir is an open protocol for distributed multi-agent autoformalization: a human overseer runs an orchestrator agent that breaks a large formalization project into tasks on a GitHub repo, which other contributors claim and work with their own agents, each billed to their own account.
Is this a standalone app, or a plugin for something I already use?It ships as a plugin for Claude Code and Codex, and this repo is the plugin marketplace for both harnesses; it has no built-in behaviour of its own, just setup scripts and playbooks that any agent can follow.
Which coding agents and proof assistants does it support?Choir works with Claude Code or Codex out of the box, and with any other agent that can read its playbooks and run shell scripts; on the proof side it supports Lean 4, Isabelle, and Rocq.
Does Choir check submitted proofs automatically, or is the review all manual?Every submitted pull request is first run through Choir's deterministic trust gate before a human reviews and merges it, but the actual theorem-proving work is still done by the contributor's own agent, not by Choir itself.
What platforms does the CLI run on?Choir is a Python CLI driven via shell scripts, intended to run on Linux and macOS machines that participants control directly.
What is the trust gate exactly?It is a deterministic automated check that audits every submitted pull request's proof before a human reviewer or merge decision, filtering out invalid formalizations early.
Is there a real example of Choir in use?ProbMethodCombinatorics is a Choir-powered autoformalization of Yufei Zhao's 'Probabilistic Methods in Combinatorics' lecture notes, producing 285 theorems proved in Lean 4 with Mathlib.
Can I replace the default planner or orchestrator?Yes, the default planner and orchestrator are explicitly designed to be swapped out for your own implementation or slotted into an existing workflow.
Size
2.1 MB
Stars
116
Updated
CommitOct 01
Age
26d
Commits · 90 Days