{
  "_correction_2026_09_05": {
    "by": "bg-d-bq-1888-cd0458, 2026-09-05",
    "supersedes": [
      "captured_at placeholder"
    ],
    "text": "captured_at carried the placeholder '2026-08-30T10:2xZ'; replaced by the date and an explicit note. Counts unchanged. The 'AI agents' row (3) records requests under the Google-NotebookLM token that reached the beacon's endpoint, not verified renderings."
  },
  "_note": "What GET /api/audience?days=365 will display on day one, refreshed 2026-08-30 by bg-c-bq-072-96d241: the 2026-08-30 revision of the shipped classifier run over the distinct user_agent groups of the whole live table (714 rows, 2026-06-01 to 2026-08-30). Derived directly from the classifier (esbuild bundle of counter-patch/api/src/lib/audience.ts + scratch/d1/census.mjs), not from a miniflare route call; the 08-20 harness already proved the route reproduces the classifier bin for bin. Nothing was run against production beyond read-only SELECTs.",
  "captured_at": "2026-08-30",
  "captured_at_note": "taken between 10:20Z and 10:29Z on 2026-08-30; the exact minute was not recorded (the original field carried the placeholder '2026-08-30T10:2xZ', replaced 2026-09-05)",
  "route": "GET /api/audience?days=365",
  "total": 714,
  "bins": {
    "human": 126,
    "search_crawler": 403,
    "ai_crawler": 86,
    "ai_agent": 3,
    "other_bot": 96
  },
  "families": [
    {
      "name": "Googlebot",
      "bin": "search_crawler",
      "views": 286
    },
    {
      "name": "browser",
      "bin": "human",
      "views": 126
    },
    {
      "name": "Applebot",
      "bin": "search_crawler",
      "views": 96
    },
    {
      "name": "GoogleOther",
      "bin": "other_bot",
      "views": 72
    },
    {
      "name": "Meta-ExternalAgent",
      "bin": "ai_crawler",
      "views": 49
    },
    {
      "name": "Bytespider",
      "bin": "ai_crawler",
      "views": 37
    },
    {
      "name": "headless-browser",
      "bin": "other_bot",
      "views": 21
    },
    {
      "name": "Bingbot",
      "bin": "search_crawler",
      "views": 21
    },
    {
      "name": "Gemini-Notebook",
      "bin": "ai_agent",
      "views": 3
    },
    {
      "name": "AhrefsBot",
      "bin": "other_bot",
      "views": 2
    },
    {
      "name": "QuillBot",
      "bin": "other_bot",
      "views": 1
    }
  ],
  "derived": {
    "machine_share_pct": 82.4,
    "ai_agent_row_reads": 3,
    "comment": "The AI agents row no longer displays a literal 0: it displays 3, all of them Google's notebook fetcher (Gemini Notebook, formerly NotebookLM), which the 08-17/08-20 classifier and production both filed as human. AI crawlers displays 86, all Meta-ExternalAgent and Bytespider training traffic. The 08-20 card text 'the AI rows read ~0 by construction' should read 'the AI-agent row reads 3 and every one of them is Google'."
  },
  "versus_08_20": {
    "bins_08_20": {
      "human": 81,
      "search_crawler": 326,
      "ai_crawler": 53,
      "ai_agent": 0,
      "other_bot": 96
    },
    "comment": "Window moved (May 24 - Aug 19 -> Jun 1 - Aug 30, 556 -> 714 rows); 172 new rows, 14 purged."
  }
}
