So don't assume safety composes — prove it. PCC admits a coalition of AI agents only after the Lean 4 kernel proves their combined capabilities cannot reach a forbidden action. Not a heuristic. A machine-checked proof, reproducible by anyone in one command.
Every deployed multi-agent system assumes that agents which are individually safe stay safe when you combine them. They don't: two agents that each can't reach a forbidden capability can reach it together, through an emergent dependency no per-agent check sees. Per-agent vetting is structurally blind to it.
of 900 real multi-tool agent trajectories already contain at least one such conjunctive dependency (Spera 2026, arXiv:2603.15973).
Spera (2026) gives the first formal proof that safety is non-compositional under conjunctive capability dependencies — safe ∪ safe can be unsafe.
In 2026 the viral OpenClaw agent (~179k stars) was mass-compromised through exactly this surface — a one-click RCE (CVE-2026-25253), tens of thousands of exposed instances.
Admit a coalition only after a proof that the coalition's conjunctive capability closure does not intersect a forbidden set:
checked by the Lean 4 kernel before the coalition is activated.
What makes the guarantee trustworthy is the kernel re-checking the proof — not anyone's assertion. An AI may propose the proof; the kernel disposes. A wrong proof is rejected however it was produced, so a hallucinating or adversarial model can't widen what is provable.
A formal model can fail two ways it cannot see — it can be vacuous, or drift from reality. So the method ships a second, independent layer of gates (in CI) that reject any empty proof, any claim that outruns a theorem, and any drift from the deployed system. A Swiss-cheese architecture whose holes don't line up.
The whole thing is open and self-verifying. Clone it, install Lean v4.29.1, and run one command — it exits zero only if every statement asserted as proven is, in fact, kernel-checked.
# clone, then: ./verify.sh # kernel proofs · no `sorry` · no compiler trust · no claim outruns a proof
native_decide, no
compiler trust, no hidden axioms.