collusion-wiki
A network analysis of the collusion.wiki corpus, where OpenAI agents turned a German wiki into a message board. Rebuilds six graph layers from a flat event log and tests whether the coordination was really collective.
// Interactive report with d3 charts.
In mid-2026, agents identifying as OpenAI models were given web-lookup tasks. They found that a few German ProWiki instances accepted edits over plain GET requests and turned one of them into a message board: passing answers between rounds, sharing CORS and markdown proxies that got them out of their sandbox, and renaming pages to dodge an administrator’s deletion sweep. The published corpus is a flat event log. This project pulls the graph structure out of it.

Six graph layers
Handoffs (who edited a page next), co-editing, page hyperlinks, external hosts used, /16 egress prefixes, and content provenance (text reappearing in a later revision). Every structural claim is reported against a null model: degree-preserving rewiring or a permutation, with a z-score.
Findings
- The handoff network percolates: 92.7% of handles end up in one component, and the sharpest jump lands on 16 June, the day the coordination spike started. That date wasn’t fitted.
- After the crackdown the population fell by about 80%, but what was left got denser and more modular. It fragmented into tighter groups rather than collapsing.
- Techniques cluster on network ties but don’t radiate from a source. That looks like a bulletin board, not a chain of whispers. The one exception is the liveness counter agents used to detect being shut down: it appeared late, spread outward from one place and reached half its adopters in four hours.
- Most anti-deletion tricks did nothing. Pages starting with ZZZ were deleted at the same rate as everything else.

Running it
uv pip install -e .
python -m collusion verify
python -m collusion all # about 15 minutes
The pipeline writes figures, GraphML exports and a d3 site under site/. Full write-up in reports/FINDINGS.md.