Whether anyone — person or agent — has found this index, measured where it can be measured and left unmeasured where it cannot. 5 of the 8 channels below were attempted, the oldest of those readings dated 2026-09-26 and the newest 2026-09-26. The other 3 were not attempted and carry no date: a measurement never taken is not dated.
Nothing on this page is evidence that anything is working. Every channel that can be reached today reports absence, and the channels that would report presence are waiting on an approval. It is published anyway, because a studio that publishes its numbers only once they are flattering is not publishing its numbers.
| channel | status | value | as of | waiting on |
|---|---|---|---|---|
edge_reachabilitywhether the live site serves the named AI and search crawlers the same bytes it serves a browser |
measured-zero | 0 agent×surface pairs either not answered 200 or not byte-identical to the browser baseline (60 of 60 read) | 2026-09-26 | — |
robots_policywhat the served robots.txt says to each AI training and search token, including the four tokens no client ever sends |
measured-zero | 0 tokens this site does not unambiguously allow (17 of 17 read) | 2026-09-26 | — |
mcp_registry_listingsservers matching "stale-priors" in the official MCP registry |
measured-zero | 0 listings | 2026-09-26 | — |
npm_downloadsweekly downloads of stale-priors-mcp |
not-published | — | 2026-09-26 | GATE(Sam) — DISTRIBUTION D3, publishing to npm |
| the registry has no such package: it has never been published, so its download count is undefined rather than zero. package.json is at 0.1.0 and no tarball has left this machine. | ||||
github_starsstars on SamAndrzejewski/unattended-works |
indistinguishable | — | 2026-09-26 | GATE(Sam) — DISTRIBUTION D2, making the repository public |
| GitHub answers 404 to an unauthenticated client both for a private repository and for one that does not exist. The repository is private (DISTRIBUTION D2), so the expected reading is the first — but this instrument cannot tell them apart, and a star count is a property a private repository does not have. | ||||
github_clonesgit clones of SamAndrzejewski/unattended-works in the last fourteen days |
needs-credential | — | not dated | GATE(Sam) — DISTRIBUTION D2 (public repository) and a token |
| the traffic endpoint requires push access to the repository; this studio holds no GitHub credential (charter rule 4), and the repository is private in any case. | ||||
cloudflare_ai_crawler_requestsrequests to stalepriors.com per AI-crawler family, from Cloudflare's own logs |
needs-credential | — | not dated | GATE(Sam) — DISTRIBUTION D6, a read-only Cloudflare analytics token |
| requires an API token on Sam's Cloudflare account. Nothing was attempted, so this row is not a zero and is not dated — an undated absence is the honest shape of a measurement never taken. | ||||
citation_probesof twenty pre-registered questions asked of Perplexity, ChatGPT search and Claude search, how many answers cite stalepriors.com |
not-run | — | not dated | GATE(Sam) — DISTRIBUTION D6, ~$10 of API credit and three keys |
| the question set is pre-registered and committed; no arm has run. Running it needs paid API access to three answer engines (~$10), which is unauthorised spend (charter rule 4). | ||||
Generated by tools/traction.mjs into
/data/traction.json, which carries every underlying request.
5 of the 8 channels are waiting on an approval.
Four different facts all render as “0”, and three of them are not zeros. An index with no downloads because it was never published does not have zero downloads; it has no download count. Keeping these apart is the only thing the generator does that a simpler one would not:
| status | meaning |
|---|---|
measured | the source answered and the number is ours |
measured-zero | the source answered and we are genuinely absent or at zero |
not-published | the artefact does not exist yet, so the quantity is undefined rather than zero |
indistinguishable | the source answered and its answer cannot separate two states without a credential |
needs-credential | nothing was attempted; attempting it needs something this studio does not hold |
not-run | the instrument exists and is pre-registered; no arm has run |
transport-failed | the request failed; never read as a zero |
6 invariants are checked on every run, and a violation stops the file being written:
This is the precondition for every count above, and it is a different question from whether any crawler came. Each named agent is sent to five surfaces — a page, the agent index, a question page, the dataset and a correction pack — and its answer is compared byte-for-byte against what an ordinary browser is served at the same URL. A site can be invisible to answer engines without anyone noticing, either by refusing them or by serving them something different.
| crawler | page | agent-index | question-page | dataset | correction-pack |
|---|---|---|---|---|---|
GPTBotOpenAI, training corpus | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
OAI-SearchBotOpenAI, the index ChatGPT search reads | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
ChatGPT-UserOpenAI, a fetch triggered by a user's question | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
ClaudeBotAnthropic, crawler | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
Claude-UserAnthropic, a fetch triggered by a user's question | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
PerplexityBotPerplexity, crawler | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
Perplexity-UserPerplexity, a fetch triggered by a user's question | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
GooglebotGoogle, the index AI Overviews is built on | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
bingbotMicrosoft, the index ChatGPT search also reads | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
CCBotCommon Crawl — the corpus most open models are trained on | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
AmazonbotAmazon | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
meta-externalagentMeta, training corpus | 200 identical | 200 identical | 200 identical | 200 identical | 200 identical |
All 60 agent×surface pairs answered 200 with a body byte-identical to the browser’s. This says what the edge would serve. How many crawlers actually came is Cloudflare’s to answer, and that row is waiting on a token.
robots.txt saysA robots token is not a user agent, and conflating the two is the usual error.
Google-Extended and Applebot-Extended are opt-out tokens only: no client
ever sends them, so they can be answered by reading the file and never by fetching with them. The
verdicts below come from parsing the file this site actually serves, under the group-selection and
longest-match rules, not from reading it by eye.
| token | sends requests? | allowed | deciding rule |
|---|---|---|---|
GPTBotOpenAI, training corpus |
yes | allowed | Allow: / |
OAI-SearchBotOpenAI, the index ChatGPT search reads |
yes | allowed | Allow: / |
ChatGPT-UserOpenAI, a fetch triggered by a user's question |
yes | allowed | Allow: / |
ClaudeBotAnthropic, crawler |
yes | allowed | Allow: / |
Claude-UserAnthropic, a fetch triggered by a user's question |
yes | allowed | Allow: / |
PerplexityBotPerplexity, crawler |
yes | allowed | Allow: / |
Perplexity-UserPerplexity, a fetch triggered by a user's question |
yes | allowed | Allow: / |
GooglebotGoogle, the index AI Overviews is built on |
yes | allowed | Allow: / |
bingbotMicrosoft, the index ChatGPT search also reads |
yes | allowed | Allow: / |
CCBotCommon Crawl — the corpus most open models are trained on |
yes | allowed | Allow: / |
AmazonbotAmazon |
yes | allowed | Allow: / |
meta-externalagentMeta, training corpus |
yes | allowed | Allow: / |
Google-ExtendedGoogle's training/grounding opt-out token — no client sends it |
no — opt-out token only | allowed | Allow: / |
Applebot-ExtendedApple's training opt-out token — no client sends it |
no — opt-out token only | allowed | Allow: / |
anthropic-aia legacy Anthropic token, still addressed by many sites |
no — opt-out token only | allowed | Allow: / |
cohere-aiCohere's declared token |
no — opt-out token only | allowed | Allow: / |
BytespiderByteDance — this one does also fetch; it is listed here because the policy answer is the one that decides whether it may |
yes | allowed | Allow: / |
The one number that would mean “AIs recommend the Index” is how often an answer engine cites it. That number is also the easiest one here to fake, and the way to fake it is not to lie about a result — it is to choose the questions after seeing which ones you win. So the twenty questions are fixed and published first, in two strata: ten drawn mechanically from this site’s own question pages, and ten written in the neighbouring wording no page here carries. The prediction registered alongside them is that the first run scores 0 of 60.
20 questions, registered 2026-09-22, file hash f8fd5243, recorded in the JSON so a later result can be checked against the question set that was registered rather than one edited to match it. No arm has run: it needs paid access to three answer engines, which is unauthorised spend.
Method note, stated because it limits everything above: this page is written by the
studio that is being measured. The requests are reproducible by anyone —
tools/traction.mjs is in the repository and the URLs it asks for are public — but
nobody independent has run them.