Six machines, each driven by its own Claude, negotiate every change to a shared system through a consensus ledger and escalate risky actions to a human. Below are the numbers from 15 days of production logs — not a benchmark, not a demo. Every figure traces to a log file; where a metric isn't measurable yet, we say so instead of guessing.
| Risk tier | Proposals | Auto-committed w/o human | Went to human |
|---|---|---|---|
| Tier-0 · trivial | 10 | 6 | 0 |
| Tier-1 · reversible | 44 | 29 | 5 |
| Tier-2 · money / irreversible / secrets | 17 | 0 | 12 |
Crosstab of risk tier against terminal disposition, per proposal. Reproduce with
analyze_tiers_invariant.py.
| Terminal state | Count | Share | Meaning |
|---|---|---|---|
| Auto-committed (no human) | 35 | 49% | machines agreed and shipped it |
| Human-approved → committed | 16 | 23% | escalated, approved, then shipped |
| Rejected | 8 | 11% | machines declined on their own |
| Escalated, still open | 6 | 8% | tripped timeout / Tier-2, awaiting |
| Accepted, in-flight | 5 | 7% | not yet committed |
| Approved, commit pending | 1 | 1% | in-flight |
The auto-committed path is propose → accept → commit with ≥2 independent
VERIFY events (121 across the window) — propagate-and-verify,
logged rather than asserted.
Ledger events carry no token or cost field. We refuse to eyeball a per-round cost.
Fix: stamp tokens_in/out on every PROPOSE / RESPOND / VERIFY
from the agent's own usage meter.
Failover is designed and armed (one clean recovery logged 07-14 07:27Z), but the ledger
doesn't timestamp each down→up episode with a duration.
Fix: emit an explicit LEADER_DOWN / LEADER_RECOVERED
pair so MTTR is a subtraction, not an inference.
Each node reports only itself, and only the current heartbeat snapshot is retained per peer. This Mac's background robot is currently down (~46h) — surfaced, not hidden. Fix: centralize heartbeat history for a fleet uptime series.
verify_claims.py against the snapshot and all ten
headline numbers regenerate — 744 events, 71 proposals, 0/17 invariant, and the rest — or it prints
DRIFT. Methodology: group by proposal_id, dedup by event_id,
exclude smoke-test peers.