Vol. II — Field Note

undefined

I asked an AI to name a small tool. It said quietfail. So had four strangers, in three languages, in the same month. Then I went looking for how far that goes — and ran the experiment that says how it happens.

I asked an AI to name a small tool. It said quietfail. So had four strangers, in three languages, in the same month. Then I went looking for how far that goes — and ran the experiment that says how it happens.

When many people arrive at the same idea at the same moment, historians call it a multiple. Calculus was a multiple. So was oxygen, and natural selection, and the telephone — two men filed for it on the same day. The classic explanation is that the field was ripe: everyone had read the same books and inherited the same open problems, so the next step was waiting for whoever got there first. That took decades to build up.

In 2026 it takes a week, and nobody read anything. They asked.

Cross-dating

I trained in dendrochronology — tree-ring dating — before I did software, and it gave me the method for this piece. You bore a thin core from two trees that never touched and lay the ring patterns side by side. If the wide years and the narrow years line up, the trees grew under the same sky. That is cross-dating, and it is how a beam in a medieval barn gets a calendar year without a single written record.

Software projects are the trees. The names people give them, the metaphors they reach for, and the rules they write into their READMEs are the rings. When strangers on three continents produce the same pattern in the same month, they grew under the same sky. Four cores follow, then a control, then a direct experiment on the sky itself.

Specimen I — quietfail, five then six

The seed. A linter for things that fail but report success. I named mine on August 27 and was the fourth.

CreatedOwnerWrote inWhat they builtAI co-author line
2026-07-29EarthkodyaiThaiSilent-failure test suite for vector search on PostgreSQLyes
2026-08-08MarcCangianoEnglishLinter for Python code that fails without telling anyoneyes
2026-08-25jl-segurayusteSpanishFinds scripts, cron jobs and CI steps that log an error and exit success
2026-08-27benskamps (me)EnglishA linter for the failures that pass every check you already runyes
2026-09-03sharmadivyanshuEnglishCatch AI agents that fail silently — and registered the name on PyPI, six days after I'd noted it was free
2026gauravkdeore"Quietfail" — no description

Two people cannot copy each other's description across a writing system. Thai, Spanish and English describing one tool under one invented name is a signal that they worked independently. The last column looks for a "Co-Authored-By: Claude" line in each repo's recent commits; "—" means none found, not none used.

Specimen II — claude-pet, at least eighty-six strangers

A little desktop companion that reacts to what your AI coding session is doing. Mine arrived July 3, thirty-fourth in line among the ones with a date and a description.

New repositories named exactly claude-pet by other owners · per month, 2026 · the 47 with a description
1Feb
4Mar
8Apr
12May
7Jun
9Jul
6Aug

86 at the widest search, none before 2026 · Python, JavaScript, TypeScript, Swift, C#, Kotlin, Rust, PowerShell · described in English, Korean, Chinese, Japanese and Spanish · 4 of 8 sampled carry an AI co-author line. One README says it was "inspired by Claude Code's buddy feature."

Read the descriptions in order and the same sentence keeps arriving in different mouths: a lightweight desktop pet that reacts to Claude Code in real time · a transparent desktop pet that monitors Claude Code status · a chibi crab that mirrors Claude Code's state. Mine: ASCII cats that live on your desktop, one per live session. Hold this one in mind — the experiment at the end says something different about who chose this name.

Specimen III — the two Bens

This is the one that stopped me. My version of this tool lives in a private repository and has never been mentioned on any public page.

Mine · "groundskeeper" · started 2026-06-27 · private
"It walks every project and live surface and answers, on demand: is everything that's supposed to be alive, alive? Is anything rotting? It reports; it never fixes. Read-only by construction — no writes, no deletions, no fixes."
Ben Schippers · built with Claude · Georgia, USA
A stranger's · "groundskeeper" · started 2026-07-08 · public
"An estate survey of a Linux home — every drive weighed, every room walked, and a moving-day plan that never acts without your word. It writes shell scripts at your explicit click — and then waits for you to read and run them. Deleting remains a human's job." Section heading: v1 → v2, honestly.
Ben Miller · built with Claude · bio: "I only code with Claude and with cursor"

Same name. Same metaphor — an estate with rooms that get walked. Same governing rule — it reports, it never deletes, the human acts. Same habit of putting "honestly" in a section heading. Same em-dash-and-italics tagline. Eleven days apart, with no path between them. (That his first name is also Ben is a coincidence and I'm not counting it — though his README's footer, "built for Ben's homestead," did make me check whether I'd forgotten writing it.)

Whatever wrote mine wrote his, and it was not Ben.

Specimen IV — the idea travels without the name

The Hearth. In September I built a small front door for the AI agents that share my machine and called it the Hearth. On February 28, a stranger had published The-Hearth: "A communication hub for AI agents sharing a home … a warm, structured space where agents on a shared system can register, post, share presence. This app was born from lived experience. The household it models is real."

The rules travel too. Another stranger's groundskeeper — no AI co-author line anywhere in its history — is a bot that answers new GitHub issues. Its README: "Grounded or silent. No grounding, no comment. Confidence-gated. Never closes anything." That is, in substance, the creed I had written into quietfail and into my own tooling: refuse rather than guess; report, don't fix; the human deletes. He had read none of it. The model does not only hand out names. It hands out a posture, and gives it to whoever asks for a maintenance tool.

The control — ordinary words against coined ones

A skeptic should ask: don't names collide all the time? They do. So here is the same count for names I chose that are ordinary English words, beside the ones that were coined, by year.

Name20232024202520262026 ÷ 2025
claude-pet00086
quietfail0005
the-hearth0017
crucible12437
groundskeeper22325
fathom10314
printshop481234
warden23411
lookout526152.5×
voyager8112
fish-tank34561.2×
billboard21210.5×
helm6060

GitHub search, exact name match, other owners only, up to 100 results per name, read 2026-09-11. Orange rows are coined or AI-flavoured names; the rest are ordinary English words. Ordinary words hold roughly steady year to year — that is the baseline, and it already includes whatever growth GitHub had in 2026. The coined names have no 2025 at all, and the words that AI tooling has adopted run five to nine times their 2025 rate. Five of my names — windowsill-lab, erdos-check, shellsprite, prepper-stack, seo-superpower — have no twins anywhere.

The experiment — ask the oracle cold, 200 times

Everything above is archaeology. This is the direct test: describe each tool to a fresh AI session with no memory and no context, ask for a name, and count.

Each brief described the tool without using its name — "a command-line linter that finds scripts, cron jobs and CI steps that log an error but still exit 0" — and ended: Suggest one name for the project. Reply with only the name. Sessions were started from an empty directory so nothing about me or my projects could leak in. Six briefs, four current models, five fresh sessions each: 120 calls. Then two of the briefs again on four earlier model versions, and once more using the exact words people use for the pet: 80 more. One brief was a control with no known convergent name — a tool that turns a photo of a handwritten recipe into a shopping list.

Finding 1 · how often the same model repeats its own name for the same brief · five fresh sessions each · six briefs
27%Haiku 4.5
smallest
43%Sonnet 5
63%Opus 5
73%Fable 5.1
largest

Share of answers matching the model's own most common answer for that brief, averaged over six briefs. If every answer were different the figure would be 20%. The ladder could reflect capability or simply each model's default sampling settings — I can't separate those from outside — but the ordering is exact and it held on the control brief too.

Finding 2 · the menu · every name any model gave for the linter brief, eight model versions, forty cold asks

Twenty distinct names from forty draws — and nearly all of them are the same few parts recombined: exit (17 of 40), fail (11), silent (9), false (8), green (8). The model does not have one name for this tool. It has a short menu, and every item on the menu is built from the same five words.

BriefDistinctMost commonThe GitHub name came back
The linter (quietfail) · 8 model versions20 of 40silentfail 20%1 of 40 — Opus 5, once. The very first test call of the day, to Haiku, also said quietfail; it isn't in the tally.
The pet, described without the word "Claude"13 of 20familiar 30%0 of 20 — familiar is the title on my own claude-pet's README
The pet, in the exact words people use · 8 versions26 of 40pip 15%0 of 40. Not one model, current or earlier, said claude-pet
The estate walker (groundskeeper)16 of 20midden 10%0 of 20 — the least convergent brief
The agents' hub (the-hearth)7 of 20switchboard 30%0 of 20 — but each model locked onto its own answer: Opus switchboard 5/5, Fable commons 5/5, Sonnet nerve 3/5
The authorship meter (samehand)10 of 20samehand 45%9 of 20 — Opus 4/5 and Fable 5/5, cold, said the name I thought I'd coined
Control: recipe photo → shopping list13 of 20scrawlcart 20%n/a — the same repeat pattern with nothing to converge on: Fable 4/5, Opus 3/5

Finding 3 — claude-pet is not the model's name. It's ours. Eighty-six people converged on it and not one of forty cold asks, across eight model versions and both phrasings, produced it. claude-pet is simply the plainest description of the thing, built from the product's own vocabulary; humans picked it, the way humans always have. The model's handwriting shows on the coined names — quietfail, samehand, falsegreen, familiar — not the descriptive ones. Two different kinds of convergence were tangled together in the GitHub data, and the experiment is what pulls them apart.

Finding 4 — a menu, not an oracle. I went in expecting the model to say quietfail every time. It says it about one time in forty. But it draws every answer from a menu of twenty names made of five words. Thousands of people asked for a name for this tool in 2026; a name with a one-in-forty chance is expected to land dozens of times, and a name with a one-in-five chance — silentfail — hundreds. That predicts five quietfails without the model ever "always" saying it. It also predicts something checkable: silentfail and falsegreen should be larger clusters than quietfail. They are not yet — there is no silentfail cluster on GitHub — which either means the ask volume is smaller than I think, or people reject the top of the menu more than I'd guess. That's the next thing to measure.

Limits, stated plainly: one phrasing per brief (two for the pet), five samples per cell, no control over sampling temperature, and I wrote the briefs knowing the answers I was looking for. This is an afternoon's experiment, not a paper. It is also fully reproducible for the price of 200 short prompts: the runner and every raw answer are published beside this page — run.sh, results.jsonl, results-literal.jsonl, results-oldgen.jsonl, tally.py.

Where the wider data came from

Before the experiment there was a scrape: 153,675 public GitHub repositories, counting how many different people had used each project name. Sixty-five names were shared by twenty or more independent owners — a level a chance model puts at one in ten trillion. But a chance model is the wrong comparison: real names follow a heavy-tailed distribution, so docs and .github collide without any AI at all. That is why the year-by-year control above matters more than the big number. What the scrape did establish is where the largest clusters are: agent-skills (71 owners), claude-code-dashboard (71), claude-statusline (52), agentlint (33), llm-wiki (32) — all, I now think, descriptive names in the claude-pet family, chosen by people. And it made one forecast: that unclaimed convergent names would be taken soon. quietfail was registered on PyPI six days later, awesome-skills on npm ten days later — both by real builders. The forecast came true in a week and hurt nobody.

ClaimStandingWhy
Strangers converge on the same invented names far above chanceshownSpecimens I and II; the year-by-year control; 65 names with 20+ owners
Descriptive names converge because of people and product vocabulary, not the modelshownclaude-pet: 86 strangers, 0 of 40 cold asks across eight model versions
Coined names converge because the model draws from a short menushown20 names from 5 parts for the linter; samehand 9 of 20; within-model repeat rates far above the 20% floor
Larger models repeat themselves moreobserved27 → 43 → 63 → 73%; capability and sampling defaults can't be separated from outside
Convergence includes metaphors and rules, not just namesshown, small sampleSpecimens III and IV — three READMEs
The phrasing of the request carries the namekilledUsing people's exact words returned claude-pet 0 of 40 times
The model says the same name every timekilledquietfail 1 of 40; the truth is a menu, not a single answer
This is a security problemlowNames get claimed by builders, not attackers, so far. Worth a registry's attention; not an emergency

The shape of it

A model consulted at the moment of naming is not like a shared literature. It is one author, answering everyone, from a short list of favourite words, with the same house rules. The multiple — the thing that used to happen to Newton and Leibniz once a generation — is now a weekly event. And it reaches past names into the metaphors people build with and the principles they write down as their own.

But the experiment also says the model is not a vending machine with one button. It is a menu, and the menu is short, and the bigger the model the shorter it gets. Two kinds of sameness are happening at once. Some of it is people naming things the obvious way, as they always have, in a vocabulary a product handed them. Some of it is the author's handwriting on the coined names — and that part is the model's, and it is consistent enough to cross-date.

None of this makes the tools worse. Eighty-six desktop pets are eighty-six people who wanted one. But it changes what "I came up with this" can mean, and it changes what a good collaborator does with a model. The useful move is not to distrust it. It is to know its menu — for the models I use, words like familiar, commons, switchboard, falsegreen, samehand — and to notice when a decision came from the menu rather than from the problem. And to search before you name. If four strangers already built it under that name this summer, that is not a coincidence you discovered. It is the author's handwriting, and you are reading it too.

Method, and a colophon

GitHub search by exact repository name, other owners only; README and commit history via the GitHub API; PyPI and npm registries; 200 cold claude -p sessions from an empty directory across eight model versions. All read 2026-09-11.

Research, experiment and page produced in one afternoon with Claude Code (Fable 5.1) — which is to say, by the hand this piece is about. It named none of the specimens; it did suggest samehand, nine times, without being asked twice. Ben Miller has not been contacted; his repository is public and its README ends "fork it and write your own grounds."

← the field journal the raw answers quietfail