Coordinate your coding agents like one team.
Run Claude Code, Codex, Gemini and Cursor against one repo. Every task has an owner, every handoff has evidence, and the team measurably stops repeating its own mistakes — in git, across every vendor.
uvx polis-protocol initClaude and Codex both open src/auth/login.py. One silently overwrites the other; work is lost, or the afternoon goes to untangling a merge. A plain repo leaves coordination to luck — and collisions grow with every parallel worker you add. This is the failure that scales worst.
Every session starts at zero. The same gotcha, re-learned every time.
Switch vendor, lose the context. No shared memory across tools.
Polis records each failure as a lesson or guardrail and re-injects it into matching future tasks. The repeat-error rate falls 88% below a memoryless setup — each failure class recurs at most once. A lone agent can't draw that curve; it never accumulates.
$ polis bench --mode learning
Before touching code, an agent reserves the files. An overlapping reservation is rejected outright — no model judgement, no race. The guarantee a single agent or an unmanaged swarm structurally cannot give.
$ polis reserve src/auth/login.py --as codex
REJECTED // HELD BY claude
Create the workspace; register your agents as citizens.
Contracts get an owner, acceptance criteria, and a transparent routing reason.
$ polis route --explain
Settled work files a lesson; the next matching task starts pre-loaded with it.
[ Reach for Polis when ]
- +2+ agents touch one real repo and collisions are a risk
- +You switch between vendors and lose context each time
- +You want the team to stop repeating mistakes — provably
- +You need an auditable record of who did what, and why
[ Skip it when ]
- −One well-prompted agent already does the job
- −Your capability cards are accurate and tasks never drift
- −You want a hosted runtime — Polis coordinates, it doesn't execute
uvx polis-protocol initpipx install polis-protocolpolis status