# The Trawl Report · 2026-W39

Counted from the snapshot of 2026-09-28, set against the one from 2026-09-21. Method v4. No model wrote a word of this: every sentence is a template with a count in it.

> The Cap'm counts what came up in the net and what went back over the side. Read [how we count](/method) before you quote any of it, the tool numbers most of all: they measure how loudly a tool's users say its name, not what anybody uses.

## The sea

15,052 repos seen in the last 90 days that say in public an AI tool wrote them, +7750 this week, from 12,452 owners. Counted from GitHub's search results alone: no star floor, no licence filter, no README read, no model asked, and nothing listed. This is the water the trough below is drawn from.

- **79%** have no stars at all
- **65.9%** carry no licence
- **7.3%** would reach the judge under the trough's rules

By stars: no stars 79%, 1 to 4 16%, 5 to 9 1.9%, 10 to 24 1.3%, 25 to 99 0.9%, 100 to 499 0.6%, 500 or more 0.3%.

What stops the rest, by the first rule that stopped it:

- **a licence we cannot quote from** — 9065 (60.2%), +1.4 points from 4294 (58.8%)
- **outside the star window** — 2388 (15.9%), −1.5 points from 1267 (17.4%)
- **owned by an org, so nobody could claim or remove it** — 2186 (14.5%), +2.4 points from 885 (12.1%)
- **writing about vibe coding, not vibe-coded** — 231 (1.5%), flat
- **no claim in its topics or description** — 70 (0.5%), flat
- **no description to quote** — 16 (0.1%), flat
- **not touched in 90 days** — 3 (0%), new this week

The sea is the trough's own searches with the ropes taken off, so it inherits [bias 1 and bias 2](/method) whole: still repos whose owners said so, still found by searches named after tools. What it takes off is the star floor and the licence filter, and the three lines above are how much of the population those two rules hold back.

## The trough

659 repos listed, +191 this week, from 618 owners.
- trawled: 646 (+190) — dragged out of public GitHub; nobody submitted them
- opted in: 13 (+1) — committed a slopscore.md and asked to be counted

## How much of it is software

The judge has looked at 696 candidates so far (+280 new this week), and **70.1% were software somebody made**: an app, a game, a tool, a library, or something with hardware attached. The rest went back over the side.

That is the number this bulletin exists for, and the reason the trawl keeps what it rejects. A leaderboard that keeps only what it accepted can tell you what its winners look like and nothing about the pile they came out of. The pile, largest bucket first:

- **app** — 258 (37.1%), +1.3 points from 149 (35.8%)
- **tool** — 149 (21.4%), −0.9 points from 93 (22.4%)
- **tool-for-ai-coding** — 140 (20.1%), flat
- **library** — 38 (5.5%), −0.8 points from 26 (6.3%)
- **game** — 37 (5.3%), flat
- **list-or-template** — 34 (4.9%), flat
- **not-ai-made** — 23 (3.3%), +0.7 points from 11 (2.6%)
- **hardware** — 6 (0.9%), flat

These are a model's labels, picked from a closed list, not a maker's own words. They are the only judged numbers in the bulletin, and they say so wherever they appear.

## Which tool gets the credit

108 credits in the trawled sample. A repo can name more than one tool, so the shares are of credits, not of repos.

- **claude-code** — 57 (52.8%), −2.1 points from 45 (54.9%)
- **claude** — 33 (30.6%), −1.2 points from 26 (31.7%)
- **codex** — 6 (5.6%), +1.9 points from 3 (3.7%)
- **cursor** — 5 (4.6%), flat
- **lovable** — 4 (3.7%), +2.5 points from 1 (1.2%)
- **copilot** — 1 (0.9%), flat
- **muse-code** — 1 (0.9%), flat
- **windsurf** — 1 (0.9%), flat

**Read this as how loudly each tool's users say its name in public.** Most of the trawl's eight grounds are named after a tool ([method](/method), bias 2), so a tool whose users never tag or describe their repos is undercounted by construction. It is not market share and it is not usage.

Biggest swings since last week: lovable +2.5 points, claude-code −2.1 points, codex +1.9 points, claude −1.2 points.

## What it is written in

- **python** — 293 (15.2%), flat
- **javascript** — 286 (14.9%), flat
- **shell** — 264 (13.7%), flat
- **html** — 261 (13.6%), +0.7 points from 165 (12.9%)
- **css** — 222 (11.6%), flat
- **typescript** — 186 (9.7%), flat
- **dockerfile** — 92 (4.8%), flat
- **rust** — 87 (4.5%), −0.6 points from 66 (5.2%)

Also new to the sample this week, below the top eight: powershell (48).

Shares are of 1,922 language credits over the trawled sample. GitHub lists every language a repo uses, so one repo can count more than once.

## What the net threw back

7,819 candidates looked at in the last 30 days and not listed, by reason. The window rolls, so movement here is the mix of reasons shifting, not one week's intake.

- **a licence we cannot quote from** — 4769 (61%), +8.1 points from 2740 (52.9%)
- **never claims a model wrote it** — 1316 (16.8%), −6.5 points from 1209 (23.3%)
- **owned by an org, so nobody could claim or remove it** — 721 (9.2%), −0.7 points from 516 (10%)
- **something else** — 533 (6.8%), −2.1 points from 462 (8.9%)
- **writing about vibe coding, not vibe-coded** — 170 (2.2%), flat
- **a tool for people coding with AI** — 144 (1.8%), flat
- **no description to quote** — 102 (1.3%), +1.2 points from 6 (0.1%)
- **a list, guide or template** — 37 (0.5%), flat

## The small print

- Counted under method v4, frozen and versioned at [/method](/method). When a rule changes the version goes up and the change is dated; nothing is edited in place.
- This site measures software whose author **says in public** that an AI tool wrote it. It does not measure AI-written software, and no number here can.
- Tool credit was counted over the 16 tools the dictionary held that night: claude-code, claude, cursor, copilot, chatgpt, codex, gemini-cli, windsurf, aider, cline, roo, muse-code, lovable, bolt, v0, replit. A tool not on that list was not looked for. [Which tools were added, and when](/method).
- The sea is counted from GitHub search results alone. Nothing in it is read, judged, listed or named, and its facts are as of the last time the sounding passed. [How it is sounded](/method).
- The numbers behind every sentence above: [`/report/2026-W39.json`](/report/2026-W39.json), frozen with the bulletin and still there after the nightly snapshot they came from has been pruned.
- Spotted an error? [Say so](/contact). Corrections run in the next bulletin; nothing is edited in quietly.