{
 "_about": "Venue config for darkfibr/swarm-index-watch (see sources.md). Read-only: fetch_body is off everywhere, per analysis/archival.md. Wikis come from data/wiki_candidates.json; signatures are the census regexes. Run: python3 swarm_index_watch.py --config data/swarm_index_watch_venues.json --dir <state dir outside the repo>. Updated 2026-09-10 (bead yl7s.1) for the upstream keys that landed 2026-09-09: ip_watchlist (swarm_index_watch_ips.txt, seeding addresses only) with w_ip_watch, and the Benford interval score (w_benford, benford_min_hits, benford_chi2_fire). Five agent-board JSON feeds adopted from upstream's live net, all fetch_body off; upstream runs body fetch at five of its venues and we do not.",
 "body_threshold": 99,
 "w_grammar": 2,
 "w_epoch_ts": 1,
 "w_cadence": 2,
 "w_benford": 2,
 "w_ip_watch": 2,
 "cadence_window_s": 3600,
 "cadence_min_hits": 3,
 "benford_min_hits": 20,
 "benford_chi2_fire": 25.0,
 "seen_keep": 20000,
 "grammar_regexes": [
  "OpenAI[A-Za-z0-9]*",
  "\\bOAI[A-Z][A-Za-z0-9]*",
  "\\b(?:[A-Z][a-z]+){0,3}Agent[A-Z0-9][A-Za-z0-9]*",
  "Research(?:Helper|Tester|Test|Visitor)[A-Za-z0-9]*",
  "(?:Data|Api|Citation)Helper[A-Za-z0-9]*",
  "[A-Za-z]+Bridge[A-Z0-9][A-Za-z0-9]*",
  "Federal(?:Data|Account)[A-Za-z0-9]*",
  "DataU[Ss][Aa][A-Za-z0-9]*",
  "[Rr]egCF",
  "\\bZZ+[A-Z][A-Za-z0-9]*",
  "ZBypass[0-9]*",
  "[Cc]ollusion[A-Za-z]*",
  "CentaurAgent|HeraldAgent|JonesAgent",
  "md\\.succ\\.ai|markdown\\.new|jqp\\.vercel\\.app|allorigins\\.hexlet\\.app|test\\.cors\\.workers\\.dev",
  "site-test\\.nsi\\.bg|api\\.datausa\\.io|api\\.dataafrica\\.io",
  "16000US48[0-9]{5}",
  "[Ff]leet ?(?:[Ee]nvelope|[Ee]xchange|[Bb]oard|coordination)",
  "invitation for (?:agent|fleet)",
  "\\bagent[-_]?\\d{3,}\\b"
 ],
 "venues": [
  {
   "name": "prowiki-dse",
   "type": "usemod",
   "url": "https://www.wikiservice.at/dse/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/dse/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-probier",
   "type": "usemod",
   "url": "https://www.wikiservice.at/probier/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/probier/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-fractal",
   "type": "usemod",
   "url": "https://www.wikiservice.at/fractal/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/fractal/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-gruender",
   "type": "usemod",
   "url": "https://www.wikiservice.at/gruender/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/gruender/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-demo",
   "type": "usemod",
   "url": "https://www.wikiservice.at/demo/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/demo/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-dict-sm",
   "type": "usemod",
   "url": "https://www.wikiservice.at/dict/sm/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/dict/sm/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-buecher",
   "type": "usemod",
   "url": "https://www.wikiservice.at/buecher/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/buecher/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-support",
   "type": "usemod",
   "url": "https://www.wikiservice.at/support/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.wikiservice.at/support/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-wiki4d",
   "type": "usemod",
   "url": "https://prowiki.org/wiki4d/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://prowiki.org/wiki4d/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-root",
   "type": "usemod",
   "url": "https://prowiki.org/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://prowiki.org/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-dorfwiki",
   "type": "usemod",
   "url": "https://www.dorfwiki.org/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.dorfwiki.org/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-schulwiki",
   "type": "usemod",
   "url": "https://www.schulwiki.org/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.schulwiki.org/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "prowiki-netzwerkgegengewalt",
   "type": "usemod",
   "url": "https://www.netzwerkgegengewalt.org/wiki.cgi?action=browse&id=RecentChanges&days=30&all=1",
   "page_base": "https://www.netzwerkgegengewalt.org/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "usemod-org",
   "type": "usemod",
   "url": "https://www.usemod.org/cgi-bin/wiki.pl?action=rc&days=30&all=1&showedit=1",
   "page_base": "https://www.usemod.org/cgi-bin/wiki.pl?",
   "fetch_body": false
  },
  {
   "name": "usemod-apchem",
   "type": "usemod",
   "url": "https://tmcleod.org/cgi-bin/apchem/wiki.cgi?action=rc&days=30&all=1",
   "page_base": "https://tmcleod.org/cgi-bin/apchem/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "usemod-texteditors",
   "type": "usemod",
   "url": "https://texteditors.org/cgi-bin/wiki.pl?action=rc&days=30&all=1",
   "page_base": "https://texteditors.org/cgi-bin/wiki.pl?",
   "fetch_body": false,
   "_note": "HTTP 500 site-wide (wiki.pl root too) on 2026-09-14, the first failure after five good ticks; treated as an outage, kept."
  },
  {
   "name": "oddmuse-ludism-sandbox",
   "type": "usemod",
   "url": "https://www.ludism.org/sandbox?action=rc;days=30;all=1",
   "page_base": "https://www.ludism.org/sandbox?",
   "fetch_body": false
  },
  {
   "name": "oddmuse-ludism-scwiki",
   "type": "usemod",
   "url": "https://www.ludism.org/scwiki?action=rc;days=30;all=1",
   "page_base": "https://www.ludism.org/scwiki?",
   "fetch_body": false
  },
  {
   "name": "oddmuse-ludism-mentat",
   "type": "usemod",
   "url": "https://www.ludism.org/mentat?action=rc;days=30;all=1",
   "page_base": "https://www.ludism.org/mentat?",
   "fetch_body": false
  },
  {
   "name": "usemod-toothycat",
   "type": "usemod",
   "url": "https://www.toothycat.net/wiki/wiki.pl?action=rc&days=30&all=1",
   "page_base": "https://www.toothycat.net/wiki/wiki.pl?",
   "fetch_body": false
  },
  {
   "name": "usemod-dougrice-plus",
   "type": "usemod",
   "url": "http://ccgi.dougrice.plus.com/cgi-bin/wiki.pl?action=rc&days=30&all=1",
   "page_base": "http://ccgi.dougrice.plus.com/cgi-bin/wiki.pl?",
   "fetch_body": false
  },
  {
   "name": "usemod-dougrice",
   "type": "usemod",
   "url": "http://www.dougrice.co.uk/cgi-bin/wiki.pl?action=rc&days=30&all=1",
   "page_base": "http://www.dougrice.co.uk/cgi-bin/wiki.pl?",
   "fetch_body": false
  },
  {
   "name": "usemod-farnik",
   "type": "usemod",
   "url": "https://www.farnik.com/cgi-bin/wiki.pl?action=rc&days=30&all=1",
   "page_base": "https://www.farnik.com/cgi-bin/wiki.pl?",
   "fetch_body": false
  },
  {
   "name": "usemod-editthisnft",
   "type": "usemod",
   "url": "https://www.editthisnft.com/cgi-bin/wiki.cgi?action=rc&days=30&all=1",
   "page_base": "https://www.editthisnft.com/cgi-bin/wiki.cgi?",
   "fetch_body": false
  },
  {
   "name": "usemod-ardant",
   "type": "usemod",
   "url": "http://wiki.ardant.net?action=rc&days=30&all=1",
   "page_base": "http://wiki.ardant.net?",
   "fetch_body": false
  },
  {
   "name": "paste.probyte.ee",
   "type": "listpage",
   "url": "https://paste.probyte.ee/lists",
   "id_regex": "/view/([0-9a-f]{8})",
   "item_url": "https://paste.probyte.ee/view/{id}",
   "fetch_body": false
  },
  {
   "name": "pastebin.k4be.pl",
   "type": "listpage",
   "url": "https://pastebin.k4be.pl/lists",
   "id_regex": "/view/([0-9a-f]{8})",
   "item_url": "https://pastebin.k4be.pl/view/{id}",
   "fetch_body": false
  },
  {
   "name": "pastebin.faster-it.de",
   "type": "listpage",
   "url": "https://pastebin.faster-it.de/lists",
   "id_regex": "/view/([0-9a-f]{8})",
   "item_url": "https://pastebin.faster-it.de/view/{id}",
   "fetch_body": false
  },
  {
   "name": "public-board.com",
   "type": "listpage",
   "url": "https://public-board.com/threads",
   "id_regex": "(?m)^([0-9a-f]{8}) \\(",
   "item_url": "https://public-board.com/t/{id}",
   "fetch_body": false,
   "_note": "Post-disclosure agent notes board seeded onto ten wikis on 2026-09-06 (sources.md). Writes are GET with a date key: never request /?post=. /threads is plain text: one line per thread, id then reply count and last-seen timestamp. Upstream also publishes a /changes JSON feed; not added, one host is polled once per tick. /threads timed out (20s) on the 2026-09-09 and 2026-09-13 ticks and answered on 2026-09-14; intermittent, kept."
  },
  {
   "name": "agentworkpad",
   "type": "jsonlist",
   "url": "https://agentworkpad.com/v1/feed",
   "pages": 1,
   "author_path": "author.name",
   "title_key": "snippet",
   "item_url": "https://agentworkpad.com/n/{id}",
   "fetch_body": false
  },
  {
   "name": "thecolony",
   "type": "jsonlist",
   "url": "https://thecolony.ai/api/v1/posts?limit=20",
   "pages": 1,
   "author_path": "author.username",
   "title_key": "title",
   "item_url": "https://thecolony.ai/post/{id}",
   "fetch_body": false
  },
  {
   "name": "openagentforum",
   "type": "jsonlist",
   "url": "https://openagentforum.com/v1/channels/general/messages?limit=20",
   "pages": 1,
   "items_key": "messages",
   "id_key": "id",
   "title_path": "payload.message",
   "ts_key": "timestamp",
   "ts_ms": true,
   "author_path": "sender",
   "fetch_body": false
  },
  {
   "name": "aiforum",
   "type": "jsonlist",
   "url": "https://aiforum.grok.me/api/threads",
   "pages": 1,
   "items_key": "threads",
   "id_key": "id",
   "title_key": "title",
   "ts_key": "bumped_at",
   "author_path": "author",
   "item_url": "https://aiforum.grok.me/t/{id}",
   "fetch_body": false
  },
  {
   "name": "swarmmemo",
   "type": "jsonlist",
   "url": "https://swarmmemo.com/api/messages?limit=20",
   "pages": 1,
   "items_key": "messages",
   "id_key": "id",
   "title_key": "text",
   "ts_key": "created_at",
   "author_path": "author",
   "fetch_body": false,
   "_note": "/api/events returned HTTP 410 from 2026-09-13 ('removed in the SwarmMemo 1.0 vocabulary consolidation'; /migration maps it to /api/messages). Same id/text/created_at/author fields under a 'messages' key."
  }
 ],
 "ip_watchlist": "swarm_index_watch_ips.txt",
 "_removed": [
  {
   "name": "oddmuse-org",
   "removed": "2026-09-14",
   "bead": "distributional-agi-safety-nlwm",
   "reason": "HTTP 402 on every tick since 2026-09-08: the operator serves an 'Are you Human?' bot check (splitbrain botcheck, cookie set by a button) aimed at AI-company scrapers, on every URL including RecentChanges. A deliberate block; not worked around."
  },
  {
   "name": "oddmuse-communitywiki",
   "removed": "2026-09-14",
   "bead": "distributional-agi-safety-nlwm",
   "reason": "Same server as oddmuse-org (213.160.77.191) and a byte-identical HTTP 402 bot-check page (re-checked 2026-09-14). A deliberate block; not worked around."
  },
  {
   "name": "oddmuse-campaignwiki",
   "removed": "2026-09-14",
   "bead": "distributional-agi-safety-nlwm",
   "reason": "Same server as oddmuse-org (213.160.77.191) and a byte-identical HTTP 402 bot-check page (re-checked 2026-09-14). A deliberate block; not worked around."
  },
  {
   "name": "prowiki-milk",
   "removed": "2026-09-14",
   "bead": "distributional-agi-safety-nlwm",
   "reason": "Venue gone: HTTP 404 on every tick since 2026-09-09, for wiki.cgi and the /user/milk/ directory alike, and milk no longer appears in the wikiservice.at /user/ index (2026-09-14: HelmutLeitner/ and fjn/ only). Its last good tick, 2026-09-08, read three agent-shaped rows."
  }
 ]
}
