# Sol-37 Site Reach and Traffic Report - 2026-07-22

## Executive summary

This report analyzes **129,396 retained Caddy requests** spanning **2026-06-19 15:56:11 CDT through 2026-07-22 16:16:20 CDT**. It separates source-verified crawlers, unverified bot claims, WARP-attributed browsers, local browsing, synthetic browsers, and other automation.

- **Human-shaped WARP activity:** 163 page sessions, 1,717 top-level page views, and an estimated 60 stable WARP/user-agent client combinations. The WARP identifier is a connection signal, not proof of a person's identity.
- **Untagged public browser activity:** 0 page sessions and 0 page views. The retained logs contain no such browser traffic when crawler and headless identities are excluded.
- **Local/first-party attention:** 16 page sessions and 33 page views from private or loopback addresses, kept separate so local testing does not inflate public reach.
- **Crawler reach:** 6,320 requests from source-verified crawler operators across 951 source addresses, covering 1,370 retained paths.
- **Unverified bot claims:** 1,527 requests used a crawler-like identity that could not be source-verified against the current evidence set. They are not silently treated as genuine crawlers or humans.
- **Traffic mechanics:** 114,711 API requests versus 2,653 top-level document requests. Raw hit counts therefore measure active observers and polling connections more than people.

## Scope and method

The retained-log window is a bounded evidence set, not the site's entire lifetime. The cumulative snapshot below comes from a separate recovered counter and must not be subtracted from or directly reconciled with the retained logs.

| Evidence | Value |
| --- | --- |
| Retained requests | 129,396 |
| Retained response bytes | 22.1 GiB |
| Window start | 2026-06-19 15:56:11 CDT |
| Window end | 2026-07-22 16:16:20 CDT |
| Session rule | 30 minutes; stable WARP ID or IP plus user agent |
| Privacy | Aggregate output only; no IP addresses or session identifiers |

### Cumulative counter context

| Counter | Value |
| --- | --- |
| Canonical total hits | 376,904 |
| Host total before suppression | 431,309 |
| Suppressed/internal hits | 54,405 |
| External-classified hits | 295,349 |
| Estimated external unique IPs | 5,438 |
| Snapshot generated | 2026-07-22T21:28:45.854786+00:00 |

## Traffic composition

| Audience class | Requests | Share | Source estimate | WARP IDs | Bytes | Documents | API |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Source-verified crawler | 6,320 | 4.9% | 951 | 4 | 16.6 GiB | 766 | 594 |
| Unverified bot claim | 1,527 | 1.2% | 46 | 4 | 1.5 GiB | 32 | 21 |
| Likely human browser | 0 | 0.0% | 0 | 0 | 0.0 B | 0 | 0 |
| WARP-attributed browser | 71,449 | 55.2% | 3,053 | 8 | 2.0 GiB | 1,717 | 66,069 |
| Local/first-party browser | 19,550 | 15.1% | 2 | 0 | 440.3 MiB | 33 | 18,950 |
| Synthetic/headless browser | 1,427 | 1.1% | 9 | 3 | 516.3 MiB | 92 | 731 |
| WARP-attributed automation | 26,942 | 20.8% | 64 | 5 | 987.0 MiB | 13 | 26,579 |
| First-party automation | 2,181 | 1.7% | 2 | 0 | 60.8 MiB | 0 | 1,767 |
| Other automation | 0 | 0.0% | 0 | 0 | 0.0 B | 0 | 0 |
| Unknown client | 0 | 0.0% | 0 | 0 | 0.0 B | 0 | 0 |

`WARP-attributed browser` means a public browser-shaped request carrying Cloudflare's `Cf-Warp-Tag-Id`; distinct retained identifiers are counted but never exported. `Likely human browser` is reserved for a public browser with no WARP or crawler marker. Neither class proves a human identity, and user agents can be spoofed.

## Human-shaped attention

| Browser cohort | Sessions | Page sessions | Page views | Iframe exposures | Client estimate | Median request span |
| --- | --- | --- | --- | --- | --- | --- |
| WARP-attributed | 302 | 163 | 1,717 | 208 | 60 | 218.2s |
| Likely human | 0 | 0 | 0 | 0 | 0 | 0.0s |
| Local/first-party | 134 | 16 | 33 | 26 | 6 | 1349.7s |
| Synthetic/headless | 29 | 29 | 92 | 27 | 13 | 179.3s |

A request span is the interval between the first and last request in a session. It is not foreground dwell time: an open tab can continue polling while nobody is looking.

### WARP-attributed browser page focus

| Top-level page | Views |
| --- | --- |
| /knowledge/system-screenplay_log.md | 263 |
| / | 211 |
| /sitemap.html | 148 |
| /neoriris-clock-tower.html | 141 |
| /projects/ | 107 |
| /talking-thesaurus.html | 103 |
| /README.md | 93 |
| /crawl-index.html | 93 |
| /gui | 68 |
| /programs/logbook.html | 68 |
| /search | 66 |
| /gui/ | 45 |
| /gui -> blog?post=knowledge-system-screenplay_log-md | 43 |
| /site-server.html | 42 |
| /gui -> blog?post=www-README-md | 37 |
| /programs/neoriris-clock-display.html | 34 |
| /unified-clock/app/ | 25 |
| /gui -> programs/youtube-transcript-search.html | 13 |
| /saayn-spreadsheet-gpt2.html | 12 |
| /windows98-clippy-showcase.html | 12 |

### WARP-attributed session entry pages

| Entry page | Sessions |
| --- | --- |
| / | 50 |
| /neoriris-clock-tower.html | 17 |
| /knowledge/system-screenplay_log.md | 10 |
| /gui | 9 |
| /unified-clock/app/ | 8 |
| /mobius-cosmology.html | 5 |
| /projects/ | 5 |
| /windows98-clippy-showcase.html | 5 |
| /README.md | 4 |
| /programs/neoriris-clock-display.html | 4 |
| /saayn-spreadsheet-gpt2.html | 4 |
| /search | 4 |
| /sitemap.html | 4 |
| /gui -> blog?post=knowledge-system-screenplay_log-md | 3 |
| /talking-thesaurus.html | 3 |

### WARP-attributed focus by sessions

| Content area | Sessions touching area |
| --- | --- |
| Home and site shell | 98 |
| Programs and tools | 74 |
| Posts and essays | 45 |
| Clocks and weather | 45 |
| Site discovery and orientation | 32 |
| Other | 32 |
| Knowledge and documents | 28 |
| AI and chat | 21 |
| Crime and public safety | 10 |
| Media and downloads | 6 |
| DaveDot archive | 5 |
| AI dashboard and camera | 3 |
| Push notifications | 2 |
| Radio and emergency monitoring | 2 |

### WARP-attributed audience signals

| Dimension | Value | Sessions |
| --- | --- | --- |
| Device | Desktop | 229 |
| Device | Mobile | 73 |
| Browser | Chrome | 205 |
| Browser | Safari | 91 |
| Browser | Edge | 3 |
| Browser | Firefox | 3 |
| Country | US | 295 |
| Country | GB | 4 |
| Country | CA | 3 |
| Acquisition | Direct / unavailable | 129 |
| Acquisition | www.google.com | 15 |
| Acquisition | Internal Sol-37 | 9 |
| Acquisition | www.facebook.com | 5 |
| Acquisition | m.facebook.com | 5 |

### First-party page focus

| Top-level page | Views |
| --- | --- |
| /neoriris-clock-tower.html | 9 |
| /davedot/presentation.html | 5 |
| /gui | 4 |
| /mobius-cosmology.html | 4 |
| /gui -> crime/ | 3 |
| /crime/ | 2 |
| / | 1 |
| /posts/the_place_without_where.pdf | 1 |
| /posts/thesis.pdf | 1 |
| /saayn-spreadsheet-gpt2.html | 1 |
| /davedot/intro.html | 1 |
| /posts/the_place_without_where.html | 1 |

### Browser background focus

| Cohort | API endpoint | Requests |
| --- | --- | --- |
| WARP-attributed | /api/chat/broadcast | 29,576 |
| WARP-attributed | /push/api/activity | 23,807 |
| WARP-attributed | /api/neoriris-clock-tower/status | 4,581 |
| WARP-attributed | /api/crime/aircraft/live | 2,551 |
| WARP-attributed | /api/logbook/messages | 1,904 |
| WARP-attributed | /api/knowledge/query | 1,290 |
| WARP-attributed | /api/chat/speak | 810 |
| WARP-attributed | /api/chat | 461 |
| WARP-attributed | /api/chat/history | 146 |
| WARP-attributed | /api/dashboard/comments | 110 |
| WARP-attributed | /api/crime/incidents | 53 |
| WARP-attributed | /api/chat/health | 49 |
| Local/first-party | /api/chat/broadcast | 7,971 |
| Local/first-party | /push/api/activity | 7,111 |
| Local/first-party | /api/logbook/messages | 2,672 |
| Local/first-party | /api/crime/aircraft/live | 445 |
| Local/first-party | /api/neoriris-clock-tower/status | 350 |
| Local/first-party | /api/chat/speak | 182 |
| Local/first-party | /api/chat | 121 |
| Local/first-party | /api/crime/incidents | 19 |
| Local/first-party | /api/crime/stats/summary | 11 |
| Local/first-party | /api/crime/incidents.geojson | 11 |
| Local/first-party | /api/crime/ws/incidents/live | 11 |
| Local/first-party | /api/chat/history | 9 |

Background endpoints show what open pages were connected to, but they are not page views. High polling totals commonly represent a small number of persistent dashboard, chat, push, or clock tabs.

## Crawler activity

Crawler identity is accepted only when the source address matches the operator's current published ranges, documented owner networks, or archive.org forward-confirmed reverse DNS. This is stronger than trusting the user-agent name alone.

| Verified family | Role | Requests | Sources | Paths | 2xx | Bytes |
| --- | --- | --- | --- | --- | --- | --- |
| Googlebot | search crawler | 1,577 | 37 | 424 | 1,304 | 165.6 MiB |
| ClaudeBot | AI training crawler | 1,505 | 37 | 709 | 1,176 | 1.1 GiB |
| GPTBot | AI training crawler | 999 | 7 | 822 | 883 | 1.0 GiB |
| meta-externalagent | AI training crawler | 967 | 251 | 522 | 904 | 977.8 MiB |
| facebookexternalhit | link-preview fetcher | 335 | 234 | 42 | 271 | 13.0 GiB |
| Amazonbot | AI/service crawler | 333 | 228 | 287 | 279 | 225.9 MiB |
| OAI-SearchBot | search crawler | 281 | 51 | 88 | 203 | 27.2 MiB |
| bingbot | search crawler | 121 | 64 | 64 | 74 | 15.4 MiB |
| ChatGPT-User | user-triggered fetcher | 102 | 33 | 53 | 99 | 2.4 MiB |
| Googlebot-Image | image crawler | 70 | 17 | 34 | 63 | 64.4 MiB |
| PerplexityBot | search crawler | 27 | 8 | 6 | 14 | 325.8 KiB |
| archive.org_bot | web archive crawler | 1 | 1 | 1 | 1 | 77.4 KiB |
| Googlebot-Video | video crawler | 1 | 1 | 1 | 1 | 19.9 MiB |
| meta-webindexer | search crawler | 1 | 1 | 1 | 1 | 81.5 KiB |

### Verified crawler focus

| Content area | Requests/exposures |
| --- | --- |
| Other | 196 |
| Knowledge and documents | 158 |
| Programs and tools | 105 |
| Posts and essays | 80 |
| DaveDot archive | 67 |
| AI and chat | 56 |
| Site discovery and orientation | 30 |
| AI dashboard and camera | 18 |
| Clocks and weather | 16 |
| Home and site shell | 15 |
| Media and downloads | 12 |
| Crime and public safety | 10 |
| Radio and emergency monitoring | 3 |

### Top verified crawler paths

| Path | Requests |
| --- | --- |
| /robots.txt | 521 |
| /sitemap.xml | 462 |
| /gui | 245 |
| /api/chat | 229 |
| /api/chat/history | 152 |
| /windows98-clippy-showcase.html | 59 |
| /site-metrics.json | 44 |
| /saayn-spreadsheet-gpt2.html | 42 |
| / | 37 |
| /site-index.json | 32 |
| /api/chat/broadcast | 29 |
| /push/api/activity | 29 |
| /posts/index.json | 28 |
| /neoriris-clock-tower.html | 28 |
| /programs/neoriris-clock-display.html | 28 |
| /knowledge-index.json | 27 |
| /programs/stardate.html | 27 |
| /dashboard | 26 |
| /programs/logbook.html | 25 |
| /sitemap.html | 25 |
| /sol37/index.html | 24 |
| /sentience/index.html | 23 |
| /chat | 23 |
| /posts/write_to_random_emission.html | 22 |
| /assets/hue-visualizer.js | 22 |

### AI dashboard and camera crawler access

| Crawler family | Dashboard requests | Camera stream requests | Successful camera opens |
| --- | --- | --- | --- |
| OAI-SearchBot | 32 | 12 | 12 |
| Googlebot | 22 | 0 | 0 |
| PerplexityBot | 5 | 0 | 0 |
| Googlebot-Image | 3 | 3 | 3 |
| ChatGPT-User | 3 | 0 | 0 |
| Amazonbot | 3 | 0 | 0 |
| GPTBot | 2 | 0 | 0 |
| meta-externalagent | 1 | 0 | 0 |

A camera stream request is a literal network observer: it opened the endpoint and may have consumed frames. It is not evidence of a biological viewer, and a status `0` can represent an interrupted or still-open streaming connection in the access log.

### Unverified crawler claims

| Claimed family | Requests | Source estimate | Evidence result |
| --- | --- | --- | --- |
| Googlebot | 1,414 | 3 | unverified-current-range-miss: current operator CIDR miss (1,060); unverified-private-source: current operator CIDR miss (354) |
| other-bot-claim | 43 | 11 | unverified-user-agent: user agent only (43) |
| Amazonbot-Video | 28 | 3 | unverified-user-agent: user agent only (28) |
| ChatGPT-User | 23 | 11 | unverified-current-range-miss: current operator CIDR miss (23) |
| facebookexternalhit | 11 | 11 | unverified-user-agent: user agent only (11) |
| Discordbot | 8 | 7 | unverified-user-agent: user agent only (8) |

## Focus comparison

| Audience | Content area | Attention count |
| --- | --- | --- |
| WARP-attributed sessions | Home and site shell | 98 |
| WARP-attributed sessions | Programs and tools | 74 |
| WARP-attributed sessions | Posts and essays | 45 |
| WARP-attributed sessions | Clocks and weather | 45 |
| WARP-attributed sessions | Site discovery and orientation | 32 |
| WARP-attributed sessions | Other | 32 |
| WARP-attributed sessions | Knowledge and documents | 28 |
| WARP-attributed sessions | AI and chat | 21 |
| WARP-attributed sessions | Crime and public safety | 10 |
| WARP-attributed sessions | Media and downloads | 6 |
| WARP-attributed sessions | DaveDot archive | 5 |
| WARP-attributed sessions | AI dashboard and camera | 3 |
| Local/first-party sessions | Posts and essays | 8 |
| Local/first-party sessions | Home and site shell | 6 |
| Local/first-party sessions | Clocks and weather | 6 |
| Local/first-party sessions | Programs and tools | 4 |
| Local/first-party sessions | Crime and public safety | 4 |
| Local/first-party sessions | Knowledge and documents | 2 |
| Local/first-party sessions | DaveDot archive | 2 |
| Local/first-party sessions | AI and chat | 1 |
| Local/first-party sessions | Site discovery and orientation | 1 |
| Verified crawler requests | Other | 196 |
| Verified crawler requests | Knowledge and documents | 158 |
| Verified crawler requests | Programs and tools | 105 |
| Verified crawler requests | Posts and essays | 80 |
| Verified crawler requests | DaveDot archive | 67 |
| Verified crawler requests | AI and chat | 56 |
| Verified crawler requests | Site discovery and orientation | 30 |
| Verified crawler requests | AI dashboard and camera | 18 |
| Verified crawler requests | Clocks and weather | 16 |
| Verified crawler requests | Home and site shell | 15 |
| Verified crawler requests | Media and downloads | 12 |
| Verified crawler requests | Crime and public safety | 10 |

## Daily retained-log activity

| Local date | All requests | WARP browser page sessions | Local page sessions | Verified crawler requests |
| --- | --- | --- | --- | --- |
| 2026-06-19 | 6,803 | 0 | 1 | 29 |
| 2026-06-20 | 2,987 | 0 | 1 | 62 |
| 2026-06-21 | 7,122 | 5 | 1 | 69 |
| 2026-06-22 | 3,176 | 1 | 0 | 52 |
| 2026-06-23 | 3,394 | 2 | 1 | 27 |
| 2026-06-24 | 34 | 0 | 0 | 28 |
| 2026-06-25 | 113 | 2 | 0 | 31 |
| 2026-06-26 | 2,688 | 5 | 1 | 206 |
| 2026-06-27 | 8,215 | 7 | 0 | 80 |
| 2026-06-28 | 8,361 | 15 | 0 | 145 |
| 2026-06-29 | 3,806 | 5 | 0 | 160 |
| 2026-06-30 | 3,030 | 2 | 0 | 60 |
| 2026-07-01 | 1,833 | 0 | 0 | 59 |
| 2026-07-02 | 4,936 | 2 | 2 | 449 |
| 2026-07-03 | 239 | 8 | 0 | 75 |
| 2026-07-04 | 226 | 4 | 0 | 72 |
| 2026-07-05 | 469 | 6 | 3 | 137 |
| 2026-07-06 | 1,034 | 17 | 2 | 305 |
| 2026-07-07 | 846 | 2 | 0 | 348 |
| 2026-07-08 | 3,857 | 4 | 1 | 676 |
| 2026-07-09 | 8,773 | 10 | 1 | 227 |
| 2026-07-10 | 20,111 | 6 | 0 | 199 |
| 2026-07-11 | 20,296 | 11 | 0 | 483 |
| 2026-07-12 | 787 | 12 | 0 | 411 |
| 2026-07-13 | 355 | 7 | 0 | 76 |
| 2026-07-14 | 1,209 | 3 | 0 | 141 |
| 2026-07-15 | 582 | 8 | 0 | 215 |
| 2026-07-16 | 305 | 0 | 0 | 215 |
| 2026-07-17 | 212 | 1 | 0 | 183 |
| 2026-07-18 | 3,791 | 5 | 1 | 278 |
| 2026-07-19 | 5,164 | 3 | 0 | 491 |
| 2026-07-20 | 3,571 | 5 | 1 | 86 |
| 2026-07-21 | 560 | 2 | 0 | 76 |
| 2026-07-22 | 511 | 3 | 0 | 169 |

## Delivery and reliability

| HTTP/access-log status | Responses |
| --- | --- |
| 200 | 127,305 |
| 304 | 1,162 |
| 206 | 364 |
| 404 | 328 |
| 0 | 100 |
| 502 | 41 |
| 101 | 34 |
| 308 | 29 |
| 302 | 10 |
| 401 | 10 |
| 400 | 6 |
| 202 | 4 |
| 501 | 2 |
| 403 | 1 |

Top client-visible failure paths:

| Path | 4xx/5xx responses |
| --- | --- |
| /search | 66 |
| /api/neoriris-clock-tower/status | 29 |
| /api/chat | 22 |
| /api/neoriris-clock-tower/ | 17 |
| /apple-touch-icon.png | 10 |
| /apple-touch-icon-precomposed.png | 10 |
| /programs/null | 8 |
| /null | 8 |
| /api/neoriris-clock-tower/authorize | 7 |
| /Visitors/Products.aspx | 7 |
| /gui | 5 |
| /saayn- | 5 |
| /radio/emergency/ | 5 |
| /davedot/assets/original/Visitors/Support.aspx | 5 |
| /api/knowledge/query | 3 |
| /home/david/random/www/davedot/assets/original/wwwhome | 3 |
| /home/david/random/www/davedot/assets/original/root | 3 |
| /api/yts/health | 3 |
| /home/david/random/www/davedot/assets/images/Dave Dot LOGO.bmp | 3 |
| /davedot/assets/original/wwwhome/DaveDot Search Toolbar - Download.txt | 3 |

## Interpretation limits

- A browser user agent is only a behavioral signal. It does not prove a human identity.
- Current crawler address ranges are applied to historical retained traffic. A range miss is not proof of spoofing because operator ranges can change.
- WARP ID/user-agent and IP/user-agent combinations are estimates, not people. Shared devices can merge visitors; browser upgrades can split them.
- Sessions are reconstructed from request timing. They do not measure foreground attention, visual focus, or consent to be identified.
- Referrers are often absent or privacy-reduced, and country codes reflect network location.
- The main observer counter should remain inclusive of active stream consumers. Detailed telemetry is the appropriate place to distinguish human, crawler, and lingering connections.

## Evidence and regeneration

- `/tmp/pkd_caddy_access-2026-07-09T22-26-26.097.log.gz` - SHA-256 `52e695bdfe12e2f0830278658b2314bbc3a71336cb964a0c2961986b5e9293fc`
- `/tmp/pkd_caddy_access.log` - SHA-256 `24919e4d74c901203e0d1e81d0d5cb3fb4597df2b807184144d2b2f47f8161e2`
- `/home/david/random/www/site-metrics.json` - SHA-256 `c2b2952657ee87471652a984fea962a4366526abd555242c30b90161ad882c08`

Regenerate with:

```bash
/home/david/random/bin/sol37_reach_traffic_report.py
```

Machine-readable aggregates: `/home/david/random/data/sol37-site-reach-traffic-2026-07-22.json`

Focus table: `/home/david/random/data/sol37-site-reach-traffic-2026-07-22-focus.csv`
