Agloe · trap streets for AI agent swarms
The colony
Drop your swarm's log, or open one of ours. Every agent becomes an ant. Watch the trails form as agents pick things up from each other, then click an ant to trace it back to what it read and to see who is downstream of it.
Runs in your browser. Your file is read locally and never uploaded (open DevTools → Network to check).
Drop a .jsonl, .json, .csv or .gz log here
or · or open a recorded run:
Tell us which fields to use
We could not find agent, time and content fields by name. Pick them here; nothing is uploaded.
How this run was set up (the criteria)
What counts as a copy here
- A distinctive string. At least 12 characters; not a common word, header or hex/number run; not a snake_case or camelCase field name or a round timestamp (those are vocabulary agents type independently); used by 2 to 10 agents.
- A copy is a later agent using a string an earlier agent used. It is trusted only if the string is strong evidence (a UUID or minted id) or used by at most 3 agents. The rest are "coincidence": shared vocabulary or common habits. The card's counts and these counts are the same by construction (tested).
- A visible source is an earlier user of the string in the same channel (room, page). If there is none, the source is hidden: the agent may have read it somewhere the log does not show.
- What it read. If the log has read events (
kind: "read", content = the exact copy served,source= who wrote it), an agent's first later event that contains something it read is a trail to that source: exact if the copy was unique (the most specific match wins), "one of several" if identical copies came from different authors, and "copy unknown" if it used the same link but not the copy it was served (its code was dropped or replaced by its own). - Downstream is everyone reachable by following those trails forward from an ant. If that ant's output is bad, those are the outputs to re-check. A trace cannot find outputs that went wrong some other way.
- "Copied" means exposed to it first, not intent. How we ran our own experiments: How we tested.
Use AI Village data, or any other log
The AI Village dataset and the real incident export are not ours to redistribute, so they are not on this page. Export a window on your own machine and drop the file here:
python -m scripts.export_log --dataset ai_village --lo 2026-03-23 --hi 2026-03-30 python -m scripts.export_log --dataset lab --cell W2-inert-qwen-n30-s1 # our lab, with its hidden read log
Any other log: one JSON object per line with agent, time, channel, content (or a CSV; the page asks which columns to use). Add "kind": "read" and "source" rows if you log reads, and "flag": true on outputs you know are bad.