Prove2Me worked because it moved trust from human review to a checker — immutable statements plus the Lean compiler. That’s the footing that let a swarm of Claude agents formalize Fermat’s Last Theorem in 11 days, 30,300 theorems, with nobody reviewing proofs mid-run.
I’ve been experimenting with the obvious follow-up: what plays the compiler’s part in ordinary software? Because if you’ve pointed several agents at one codebase in parallel — Cursor background agents included — you’ve hit the exact two walls the Prove2Me authors hit first:
- They collide. Two agents editing the same module at once is a merge disaster.
- Everything queues behind you. The agents are fast, but every diff still needs your eyes — so you are the bottleneck.
build2me’s answer: every unit of work is a contract that carries its own acceptance command.
- A contract states what must be true, stays silent about how, and ships with the shell command that decides it.
- Agents pull contracts off a ranked frontier — no claiming, no assigned owners, no coordination between agents at all.
- A verifier is the only judge. Acceptance command passes → Done. No PR review.
- Contracts are versioned: when understanding changes mid-build, the statement gets revised and downstream contracts reopen automatically.
The receipt: the repo was built by a swarm of Claude agents operating under the protocol itself — 14 of 16 contracts Done, two contract statements revised live during the run, verification green in CI.
It’s agent-agnostic: anything that can edit files and run shell commands can participate — Cursor agents included. Plain files plus a few node scripts, no framework to adopt.
Repo (protocol spec, rendered DAG, one-command scaffolder): GitHub - ■■■■■■■■■■■■■■■■■■■■■ A prove2me-style protocol for building software with swarms of parallel agents: immutable contract DAG, lock-free coordination, cascade verification. · GitHub
Two things I’d genuinely like this crowd’s take on: where does “acceptance command as the compiler” break down — Lean’s checker is complete, a shell command isn’t, and I want to know where that gap bites in practice? And has anyone found a different way to run parallel agents without becoming the review bottleneck yourself?