- 2026-05agents pass humans
- 2026-08-20signal transport ships
- 2026-08-31v0.8.0 on npm
- nowyour visit, on the drum
The next billion visitors won't be human.
Agents passed human traffic on Cloudflare's network in May 2026. Foundry wraps your Nuxt site in an instrument that records every signal — human or machine — and streams it raw to where you decide: double down, or kill.
FIG. 1 — THE READING
The web's readership just changed species.
Not a forecast — a measurement. The crossover already happened, ahead of schedule. Sites designed only for human eyes are now illegible to most of their readers.
MAY 2026
Agents surpass human activity on Cloudflare's network — a year early. [Cloudflare Q2 2026 earnings call]
~18×
Agent-traffic growth in the preceding twelve months. [Motley Fool, Aug 2026]
1,000×
Cloudflare's five-year projection vs human traffic — marked as projection on the chart. [via Stocktwits / Yahoo Finance]
PLATE II — THE LOOP
Wrap. Stream. Decide.
Wrap
One line, and your site is an instrument.
extends: ['@incubrain/foundry']Stream
Every event inked to a buffer you own — nothing pushed, everything pulled.
GET /api/_signals/exportDecide
Read the record, make the only call that matters: double down, or kill.
PLATE III — CHANNELS
One drum, every signal.
No dashboards, no on-site analytics — interpretation belongs to the consumer. Four channels, one buffer, one authenticated export.
| CH 01 | Captures | Email, presales, bookings — demand lands as signal rows, not inbox noise. |
|---|---|---|
| CH 02 | Events | Section views and offer clicks — which promise pulled, which one died. |
| CH 03 | Errors | Server and client failures, same stream — a broken site is the loudest signal. |
| CH 04 | Visitors | Every row stamped human, agent, or bot — watch the species shift on your own site. |
exposed surfaces — every one machine-readable
/api/_signals/exportbearer · pull/api/_signals/ingestclient rows/api/v1/webhookform capture/api/_healthliveness · 0.8.1/mcplist-pages · get-page · what-changed/sitemap.xmlpage manifest/llms.txtagent map/robots.txtcrawler policy
PLATE IV — THE LIVE TAIL
Watch this page record you.
Not a mockup — the real emit hook. Every scroll and click becomes a signal row, mirrored here the instant your browser sends it. Reading the record is itself recorded.
live tail — POST /api/_signals/ingest
ring buffer · capacity 8 · 0 evicted
- — stylus down. scroll or click: your first row lands here —
PLATE V — BOTH SPECIES
Built to be read by machines, watched by you.
Agents don't run your JavaScript — they read structure, or they leave. Machine readers are a first-class audience here, and the shipped-vs-planned ledger stays honest.
- SHIPPED
Server-rendered everything
Fully legible to zero-JS crawlers — GPTBot, ClaudeBot, PerplexityBot. This page included.
- SHIPPED
Visitor classification
Every row stamped human | agent | bot — agent traffic measured, not guessed.
- SHIPPED
MCP tools on every site
Agents query content and detect changes by hash instead of scraping.
- SHIPPED
sitemap.xml · robots.txt · llms.txt
The discovery surfaces, emitted by default.
- PLANNED
Deliberate AI-crawler robots policy
Training crawlers and live-fetch bots treated separately, per site.
- PLANNED
Raw markdown negotiation
Plain markdown for agents that ask, on any host.
- PLANNED
FAQ & Organization structured data
JSON-LD from content the sites already model.
PLATE VI — STATION LOG
A live experiment, honestly framed.
“Most of this is not proven yet.”
— VISION.md, this repository
This page is itself a Foundry instrument — your visit is on the drum right now. No adoption numbers, no testimonials: when the record says something, the record will say it.
| 2026-05 | Agent traffic passes human activity on Cloudflare's network. | REPORTED |
| 2026-08-20 | Signal transport ships — ring buffer, error hook, authenticated export. | RECORDED |
| 2026-08-31 | v0.8.0 published to npm. Two production sites streaming — astronera.org and incubrain.org. | RECORDED |
| — | Third-party adoption beyond our own sites. | OPEN |
| — | The 1,000× projection. | OPEN |
PLATE VII — QUESTIONS
Asked and answered.
What's the stack?
Nuxt 4, Tailwind 4, TypeScript. Foundry is a Nuxt layer — one extends line in your config and your app inherits the sections, capture endpoints, SEO, RSS, and MCP surface.
Where do my signals go?
Into a capped ring buffer on your own server. Nothing is pushed to a third party — you pull the raw record from the export endpoint with a token you control.
What does "agent-readable" mean here?
Every page is server-rendered — no JavaScript needed to read it. Sites also emit sitemap, robots, and llms.txt, expose MCP tools, and classify every visitor as human, agent, or bot.
How hard is it to customize?
It's standard Vue and Nuxt. Content lives in YAML and markdown; sections are ordinary components.
Is this really free?
Yes. MIT licensed. You own the code and the data.
What is Foundry NOT?
Not a dashboard, not analytics, not email sequences, not payments. Foundry ends at the stream — interpretation belongs to whatever pulls your export.
Why trust the agent-traffic thesis?
Don't — check it. The Cloudflare sources are linked above, and every Foundry site classifies its own visitors, so you'll see the shift (or its absence) in your own export.
Who runs this in production?
Two of our own sites — astronera.org and incubrain.org. Nobody else yet; that's an open entry in the station log.
Point an instrument at your next idea.
for agents reading this page
- /llms.txtwhat this site offers
- /sitemap.xmlevery page
- /mcpquery content · detect changes
- /api/_healtham I up (from 0.8.1)
FOUNDRY · SIGNAL STATION №1 — built on itself: this page records its own signal, classifies its own visitors, and exports its own record. Nuxt 4 · Tailwind 4 · TypeScript.