{
 "schema": "parrot-telemetry/1",
 "day": "2026-09-06",
 "window": {
  "since": "2026-09-06T00:00:00Z",
  "until": "2026-09-07T00:00:00Z"
 },
 "generated_at": "2026-09-08T00:10:40Z",
 "source": "edge",
 "sampling": {
  "sampled": true,
  "note": "Cloudflare adaptive sampling was active: integers are sample counts multiplied by each row's sampleInterval, i.e. edge estimates, not exact tallies.; plan refused dimension(s) clientRefererHost"
 },
 "requests": 43804,
 "bots": {
  "total": 27532,
  "pct": 62.9,
  "groups": {
   "claude": {
    "label": "ClaudeBot / Anthropic",
    "count": 189,
    "by_agent": {
     "ClaudeBot": 185,
     "Claude-User": 4
    }
   },
   "openai": {
    "label": "GPTBot / OpenAI",
    "count": 291,
    "by_agent": {
     "ChatGPT-User": 127,
     "GPTBot": 87,
     "OAI-SearchBot": 77
    }
   },
   "perplexity": {
    "label": "PerplexityBot",
    "count": 628,
    "by_agent": {
     "PerplexityBot": 628
    }
   },
   "search": {
    "label": "GoogleOther / search engines",
    "count": 602,
    "by_agent": {
     "YandexBot": 300,
     "Applebot": 120,
     "Googlebot": 104,
     "bingbot": 73,
     "Baiduspider": 5
    }
   },
   "other_ai": {
    "label": "other llm & ai agents",
    "count": 469,
    "by_agent": {
     "Amazonbot": 242,
     "Meta-ExternalAgent": 227
    }
   },
   "self": {
    "label": "the desk's own services",
    "count": 2367,
    "by_agent": {
     "parrot-desk-feed": 1359,
     "stochastic-parrot-social": 594,
     "parrot-alerts": 282,
     "parrot-other": 124,
     "parrot-metrics": 8
    }
   },
   "infra": {
    "label": "cloudflare early hints & uptime probes",
    "count": 13899,
    "by_agent": {
     "early-hints": 13235,
     "liveness-probe": 664
    }
   },
   "scraper": {
    "label": "unclassified scrapers",
    "count": 9087,
    "by_agent": {
     "generic-bot": 3453,
     "curl": 3407,
     "spoofed-browser": 935,
     "HeadlessChrome": 543,
     "python-requests": 286,
     "node-fetch": 266,
     "Go-http-client": 93,
     "empty-ua": 43,
     "browser-ua-no-assets": 32,
     "httpx": 12,
     "python-urllib": 12,
     "java": 4,
     "aiohttp": 1
    }
   }
  }
 },
 "client_errors_4xx": 2050,
 "humans": {
  "instrument": "beacon",
  "requests": 3110,
  "pct": 7.1,
  "pageloads": 244,
  "sessions": 159,
  "edge_rendered_sessions": 64,
  "edge_rendered_requests": 1715,
  "bounce": {
   "label": "left within 10s",
   "count": 71,
   "pct": 42.3,
   "threshold_s": 10,
   "unit": "audit pageviews"
  },
  "deep_read": {
   "label": "reading depth (> 3 min)",
   "count": 18,
   "pct": 10.7,
   "threshold_s": 180,
   "unit": "audit pageviews"
  },
  "reached_sources": {
   "label": "reached the sources block (scrolled to end)",
   "count": 6,
   "unit": "audit pageviews"
  }
 },
 "api_polling": {
  "requests": 13162,
  "pct": 30.0,
  "ip_ua": 156,
  "largest_single_ip_ua": 8408,
  "label": "open tabs polling the desk (browser fetches to /api/)"
 },
 "browser_shaped": {
  "requests": 1395,
  "pct": 3.2,
  "single_fetch": {
   "sessions": 429,
   "requests": 429,
   "label": "one HTML fetch, nothing else (link previews, scanners)"
  },
  "page_only": {
   "sessions": 164,
   "requests": 586,
   "label": "pages only, no assets (crawlers, or readers with a cached stylesheet)"
  },
  "asset_only": {
   "sessions": 165,
   "requests": 380,
   "label": "assets only (image hotlinks, feed readers)"
  },
  "rendered": {
   "sessions": 64,
   "requests": 1715
  }
 },
 "referrers": [
  {
   "host": "facebook.com",
   "count": 114
  },
  {
   "host": "(direct / no referrer)",
   "count": 52
  },
  {
   "host": "com.google.android.googlequicksearchbox",
   "count": 2
  },
  {
   "host": "go.bsky.app",
   "count": 2
  },
  {
   "host": "google.com",
   "count": 1
  },
  {
   "host": "(internal navigation)",
   "count": 73
  }
 ],
 "referrers_source": "rum",
 "top_paths": [
  {
   "path": "/",
   "count": 50
  },
  {
   "path": "/audits/betelgeuse-is-disgusting",
   "count": 18
  },
  {
   "path": "/audits/zero-savings-and-300000-lost-jobs",
   "count": 17
  },
  {
   "path": "/audits/fetterman-wsj-senate-duty",
   "count": 15
  },
  {
   "path": "/audits/not-reading-the-room-or-not-being-steered",
   "count": 14
  },
  {
   "path": "/audits/the-best-deal",
   "count": 14
  },
  {
   "path": "/audits/how-to-read-the-parrot",
   "count": 13
  },
  {
   "path": "/audits/us-effective-tariff-rate-2-4-to-7-7",
   "count": 12
  },
  {
   "path": "/audits/700000-signed-to-recall-mamdani",
   "count": 10
  },
  {
   "path": "/audits/ukraine-kyiv-strikes-envoy-visit",
   "count": 9
  }
 ],
 "paths_source": "rum",
 "definitions": {
  "tree": "bots + humans = requests; client errors overlap both branches. probability mass ≠ 1.0",
  "referrers": "RUM refererHost of rendered pageloads; (direct / no referrer) has none, (internal navigation) is the site itself",
  "requests": "every request the edge answered in the UTC day window, all requesters",
  "bots": "requests whose User-Agent matches the taxonomy in scripts/telemetry/parse_traffic.py GROUPS (same names as functions/api/_bots.js), plus browser-UA sessions with 30+ pages and zero assets",
  "client_errors_4xx": "responses with status 400-499, counted across ALL requesters (overlaps every branch — the tree is not a partition)",
  "api_polling": "browser-UA requests to /api/ — a page's own script polling (the Live desk feed once a minute per open tab), never a person; largest_single_ip_ua shows a runaway client",
  "browser_shaped": "non-/api/ requests from browser-shaped User-Agents whose ip+ua never fetched a page AND an asset in the same day — the edge cannot tell a link-preview bot from a returning reader whose stylesheet is cached (max-age one year), so none of this is called a person",
  "humans.requests": "requests whose User-Agent matched no bot pattern (includes browser_shaped)",
  "humans.sessions": "site-wide visit beacon sessions (new + returning), deduped per browser session via sessionStorage, cookieless; known crawlers dropped at the edge",
  "humans.edge_rendered_sessions": "cross-check from the edge: ip+ua that fetched a page and an asset the same day; undercounts returning readers whose assets are cached",
  "humans.bounce": "audit pageviews whose time-on-page bucket was 0-10s; pct of all timed audit pageviews",
  "humans.deep_read": "audit pageviews whose time-on-page bucket was 180+s; pct of all timed audit pageviews",
  "humans.reached_sources": "audit pageviews that reached the 100% scroll milestone — the Sources block sits at the end of every audit",
  "top_paths": "RUM pageloads by requestPath — pages that rendered, not pages that were fetched",
  "humans.pageloads": "Cloudflare RUM pageload events — a page whose JavaScript ran in a browser; known crawlers filtered by Cloudflare",
  "humans.edge_rendered_requests": "the page and asset requests those ip+ua made that day (their /api/ polling sits under api_polling), so that declared bots + api_polling + browser_shaped + this = requests"
 },
 "ledger_text": "// TRAFFIC LOG // 2026-09-06 // edge snapshot // source: edge // sampled\nrequests: 43,804\n  ├─ declared bots: 27,532 (62.9%)\n  │    ├─ ClaudeBot / Anthropic: 189\n  │    ├─ GPTBot / OpenAI: 291\n  │    ├─ PerplexityBot: 628\n  │    ├─ GoogleOther / search engines: 602\n  │    ├─ other llm & ai agents: 469\n  │    ├─ the desk's own services: 2,367\n  │    ├─ cloudflare early hints & uptime probes: 13,899\n  │    └─ unclassified scrapers: 9,087\n  ├─ open tabs polling the desk (browser fetches to /api/): 13,162 (30.0%) from 156 ip+ua — one ip+ua alone: 8,408\n  ├─ browser-shaped, no page render seen: 1,395 (3.2%)\n  │    ├─ one HTML fetch, nothing else (link previews, scanners): 429 ip+ua / 429 requests\n  │    ├─ pages only, no assets (crawlers, or readers with a cached stylesheet): 164 ip+ua / 586 requests\n  │    └─ assets only (image hotlinks, feed readers): 165 ip+ua / 380 requests\n  ├─ client error & 404 / malformed: 2,050\n  └─ humans, pages actually rendered: 244 pageloads / 159 sessions\n       │    (RUM + the cookieless visit beacon: counted only when the page's JavaScript ran)\n       ├─ edge cross-check, ip+ua that fetched a page and an asset: 64\n       │    (1,715 page & asset requests from those ip+ua)\n       ├─ left within 10s: 71 (42.3%)\n       ├─ reading depth (> 3 min): 18 (10.7%)\n       └─ reached the sources block (scrolled to end): 6\nhumans came from (RUM pageloads):\n  ├─ facebook.com: 114\n  ├─ (direct / no referrer): 52\n  ├─ com.google.android.googlequicksearchbox: 2\n  ├─ go.bsky.app: 2\n  ├─ google.com: 1\n  └─ (internal navigation): 73\nhumans went to (RUM pageloads):\n  ├─ /: 50\n  ├─ /audits/betelgeuse-is-disgusting: 18\n  ├─ /audits/zero-savings-and-300000-lost-jobs: 17\n  ├─ /audits/fetterman-wsj-senate-duty: 15\n  ├─ /audits/not-reading-the-room-or-not-being-steered: 14\n  ├─ /audits/the-best-deal: 14\n  ├─ /audits/how-to-read-the-parrot: 13\n  ├─ /audits/us-effective-tariff-rate-2-4-to-7-7: 12\n  ├─ /audits/700000-signed-to-recall-mamdani: 10\n  └─ /audits/ukraine-kyiv-strikes-envoy-visit: 9\nprobability mass ≠ 1.0"
}
