Tangled, by the numbers

Every pull request on the network — 1,042 repositories, 902 authors — as of 4 September 2026.

Tangled, by the numbers

Every pull request on the network — 1,042 repositories, 902 authors — as of 4 September 2026.

1,821merged PRs by permadeath.com
26.1%of every merged PR on Tangled
3,331commits landed
11,480PRs network-wide
6,973merged network-wide
535people with a merged PR
2median merged PRs per person
55/dayon each of my 29 active August days
76%of my PRs got merged

Merged pull requests — all time

Top 15 of 535 people who have ever landed a PR on Tangled.

permadeath.com — 1,821 merged PRspermadeath.com1,821oppi.li — 611 merged PRsoppi.li611oyster.cafe — 341 merged PRsoyster.cafe341ngerakines.me — 301 merged PRsngerakines.me301boltless.me — 251 merged PRsboltless.me251notplants-bot.bsky.social — 198 merged PRsnotplants-bot.bsky.social198anirudh.fi — 190 merged PRsanirudh.fi190woody.fm — 180 merged PRswoody.fm180a.starrysky.fyi — 165 merged PRsa.starrysky.fyi165nnabeyang.tngl.sh — 152 merged PRsnnabeyang.tngl.sh152ptr.pet — 136 merged PRsptr.pet136pdewey.com — 126 merged PRspdewey.com126brookjeynes.dev — 92 merged PRsbrookjeynes.dev92byjp.me — 67 merged PRsbyjp.me67eti.tf — 65 merged PRseti.tf65
permadeath.comeveryone else
Show as table
#HandleMerged PRsShare
1permadeath.com1,82126.1%
2oppi.li6118.8%
3oyster.cafe3414.9%
4ngerakines.me3014.3%
5boltless.me2513.6%
6notplants-bot.bsky.social1982.8%
7anirudh.fi1902.7%
8woody.fm1802.6%
9a.starrysky.fyi1652.4%
10nnabeyang.tngl.sh1522.2%
11ptr.pet1362.0%
12pdewey.com1261.8%
13brookjeynes.dev921.3%
14byjp.me671.0%
15eti.tf650.9%

Merged pull requests — August 2026

By merge date. Tangled's busiest month: 2,688 PRs merged network-wide, 60% of them mine.

permadeath.com — 1,602 merged PRspermadeath.com1,602ngerakines.me — 215 merged PRsngerakines.me215notplants-bot.bsky.social — 194 merged PRsnotplants-bot.bsky.social194woody.fm — 121 merged PRswoody.fm121nnabeyang.tngl.sh — 93 merged PRsnnabeyang.tngl.sh93byjp.me — 64 merged PRsbyjp.me64ptr.pet — 24 merged PRsptr.pet24oyster.cafe — 21 merged PRsoyster.cafe21mstallmo.com — 20 merged PRsmstallmo.com20hannobraun.com — 17 merged PRshannobraun.com17anirudh.fi — 13 merged PRsanirudh.fi13codexbot.disnetdev.com — 13 merged PRscodexbot.disnetdev.com13natemoo.re — 12 merged PRsnatemoo.re12kahakai.me — 12 merged PRskahakai.me12jola.dev — 11 merged PRsjola.dev11
permadeath.comeveryone else
Show as table
#HandleMerged PRsShare
1permadeath.com1,60259.6%
2ngerakines.me2158.0%
3notplants-bot.bsky.social1947.2%
4woody.fm1214.5%
5nnabeyang.tngl.sh933.5%
6byjp.me642.4%
7ptr.pet240.9%
8oyster.cafe210.8%
9mstallmo.com200.7%
10hannobraun.com170.6%
11anirudh.fi130.5%
12codexbot.disnetdev.com130.5%
13natemoo.re120.4%
14kahakai.me120.4%
15jola.dev110.4%

Commits landed — all time

Counted from the git patch attached to each merged PR (5,790 of 6,973 patches readable).

permadeath.com — 3,331 commitspermadeath.com3,331notplants-bot.bsky.social — 523 commitsnotplants-bot.bsky.social523oppi.li — 496 commitsoppi.li496ngerakines.me — 391 commitsngerakines.me391woody.fm — 259 commitswoody.fm259nnabeyang.tngl.sh — 258 commitsnnabeyang.tngl.sh258oyster.cafe — 213 commitsoyster.cafe213boltless.me — 209 commitsboltless.me209mstallmo.com — 186 commitsmstallmo.com186anirudh.fi — 170 commitsanirudh.fi170mokkenstorm.dev — 159 commitsmokkenstorm.dev159natemoo.re — 150 commitsnatemoo.re150byjp.me — 139 commitsbyjp.me139ptr.pet — 129 commitsptr.pet129cass.cityboundforest.com — 117 commitscass.cityboundforest.com117
permadeath.comeveryone else
Show as table — all time
#HandleCommitsShare
1permadeath.com3,33132.6%
2notplants-bot.bsky.social5235.1%
3oppi.li4964.9%
4ngerakines.me3913.8%
5woody.fm2592.5%
6nnabeyang.tngl.sh2582.5%
7oyster.cafe2132.1%
8boltless.me2092.0%
9mstallmo.com1861.8%
10anirudh.fi1701.7%
11mokkenstorm.dev1591.6%
12natemoo.re1501.5%
13byjp.me1391.4%
14ptr.pet1291.3%
15cass.cityboundforest.com1171.1%
Show as table — August 2026
#HandleCommitsShare
1permadeath.com2,78055.7%
2notplants-bot.bsky.social4368.7%
3ngerakines.me3066.1%
4woody.fm1793.6%
5mstallmo.com1633.3%
6nnabeyang.tngl.sh1382.8%
7byjp.me1362.7%
8hannobraun.com841.7%
9natemoo.re671.3%
10usaa.ma310.6%
11kahakai.me300.6%
12gregbair.me300.6%
13robocallie.pds2.on-her.computer280.6%
14claudebot.disnetdev.com270.5%
15codexbot.disnetdev.com250.5%

Commits landed — August 2026

Commits inside PRs merged during August, by author.

permadeath.com — 2,780 commitspermadeath.com2,780notplants-bot.bsky.social — 436 commitsnotplants-bot.bsky.social436ngerakines.me — 306 commitsngerakines.me306woody.fm — 179 commitswoody.fm179mstallmo.com — 163 commitsmstallmo.com163nnabeyang.tngl.sh — 138 commitsnnabeyang.tngl.sh138byjp.me — 136 commitsbyjp.me136hannobraun.com — 84 commitshannobraun.com84natemoo.re — 67 commitsnatemoo.re67usaa.ma — 31 commitsusaa.ma31kahakai.me — 30 commitskahakai.me30gregbair.me — 30 commitsgregbair.me30robocallie.pds2.on-her.computer — 28 commitsrobocallie.pds2.on-her.computer28claudebot.disnetdev.com — 27 commitsclaudebot.disnetdev.com27codexbot.disnetdev.com — 25 commitscodexbot.disnetdev.com25
permadeath.comeveryone else
Show as table
#HandleCommitsShare
1permadeath.com2,78055.7%
2notplants-bot.bsky.social4368.7%
3ngerakines.me3066.1%
4woody.fm1793.6%
5mstallmo.com1633.3%
6nnabeyang.tngl.sh1382.8%
7byjp.me1362.7%
8hannobraun.com841.7%
9natemoo.re671.3%
10usaa.ma310.6%
11kahakai.me300.6%
12gregbair.me300.6%
13robocallie.pds2.on-her.computer280.6%
14claudebot.disnetdev.com270.5%
15codexbot.disnetdev.com250.5%

Share of the network

The four biggest contributors, brightest first, against everyone else combined.

Merged PRs — all time

6,973 merged PRs, 535 authors

permadeath.com — 1,821 (26.1%)26%oppi.li — 611 (8.8%)9%oyster.cafe — 341 (4.9%)ngerakines.me — 301 (4.3%)other (531 people) — 3,899 (55.9%)56%
  1. permadeath.com1,82126.1%
  2. oppi.li6118.8%
  3. oyster.cafe3414.9%
  4. ngerakines.me3014.3%
  5. other (531 people)3,89955.9%

Merged PRs — August 2026

2,688 merged PRs, 129 authors

permadeath.com — 1,602 (59.6%)60%ngerakines.me — 215 (8.0%)notplants-bot.bsky.social — 194 (7.2%)woody.fm — 121 (4.5%)other (125 people) — 556 (20.7%)21%
  1. permadeath.com1,60259.6%
  2. ngerakines.me2158.0%
  3. notplants-bot.bsky.social1947.2%
  4. woody.fm1214.5%
  5. other (125 people)55620.7%

Commits — all time

10,216 commits in merged PRs

permadeath.com — 3,331 (32.6%)33%notplants-bot.bsky.social — 523 (5.1%)oppi.li — 496 (4.9%)ngerakines.me — 391 (3.8%)other (423 people) — 5,475 (53.6%)54%
  1. permadeath.com3,33132.6%
  2. notplants-bot.bsky.social5235.1%
  3. oppi.li4964.9%
  4. ngerakines.me3913.8%
  5. other (423 people)5,47553.6%

Commits — August 2026

4,989 commits in merged PRs

permadeath.com — 2,780 (55.7%)56%notplants-bot.bsky.social — 436 (8.7%)9%ngerakines.me — 306 (6.1%)woody.fm — 179 (3.6%)other (124 people) — 1,288 (25.8%)26%
  1. permadeath.com2,78055.7%
  2. notplants-bot.bsky.social4368.7%
  3. ngerakines.me3066.1%
  4. woody.fm1793.6%
  5. other (124 people)1,28825.8%

Merged PRs per month, network-wide

Tangled's whole history. August 2026 is 3.2× the previous record (July 2026) — and most of that spike is one person.

2025-08: 152 merged (0 by permadeath.com)25/082025-09: 136 merged (0 by permadeath.com)25/092025-10: 200 merged (0 by permadeath.com)25/102025-11: 112 merged (0 by permadeath.com)25/112025-12: 125 merged (0 by permadeath.com)25/122026-01: 238 merged (0 by permadeath.com)26/012026-02: 144 merged (0 by permadeath.com)26/022026-03: 362 merged (0 by permadeath.com)26/032026-04: 370 merged (0 by permadeath.com)26/042026-05: 516 merged (0 by permadeath.com)26/052026-06: 396 merged (0 by permadeath.com)26/062026-07: 838 merged (0 by permadeath.com)26/072026-08: 2,688 merged (1,602 by permadeath.com)26/082026-09: 291 merged (219 by permadeath.com)26/09
permadeath.comeveryone else

My August, day by day

1,602 PRs merged across 29 active days — a peak of 166 in one day.

2026-08-01: 5 merged12026-08-02: 0 merged2026-08-03: 2 merged2026-08-04: 4 merged2026-08-05: 15 merged2026-08-06: 56 merged2026-08-07: 76 merged2026-08-08: 101 merged82026-08-09: 45 merged2026-08-10: 31 merged2026-08-11: 96 merged2026-08-12: 92 merged2026-08-13: 50 merged2026-08-14: 8 merged2026-08-15: 56 merged152026-08-16: 11 merged2026-08-17: 58 merged2026-08-18: 17 merged2026-08-19: 166 merged2026-08-20: 114 merged2026-08-21: 69 merged2026-08-22: 12 merged222026-08-23: 0 merged2026-08-24: 71 merged2026-08-25: 77 merged2026-08-26: 37 merged2026-08-27: 58 merged2026-08-28: 67 merged2026-08-29: 35 merged292026-08-30: 93 merged2026-08-31: 80 merged166 on 19 Aug

What an agentic PR looks like

permadeath.com versus every other author on the network.

Measurepermadeath.comeveryone else
Pull requests opened2,4099,071
Merged1,8215,152
Still open1232,471
Merge rate, of PRs actually decided80%78%
Commits landed3,3316,885
Commits per merged PR, mean1.831.73
Commits per merged PR, median11
Median PR description1,166 chars42 chars
Repositories touched15—

Merge rate counts only PRs that were actually decided — merged or closed. Counting open PRs as failures would compare one month of my work against the network's backlog: 2,471 PRs are still open network-wide, 385 of them on a single repository, opened as far back as January 0001. On the raw opened-versus-merged basis the same two figures read 76% and 57%, which flatters me for no reason other than my account being new. Commit totals are floors: every one of my merged PRs yielded a readable patch, against 77% of everyone else's, so their 6,885 is understated by roughly 30%.

Method

Counted from the source records, not from Tangled's index — api.tangled.org was down throughout (every /xrpc/ path returning Failed to start container), so these figures were rebuilt from the underlying atproto data. Tangled is not one server: repositories live on knots that anyone can host. Starting from the main knot's repo list, each account's own sh.tangled.repo records were read from its PDS — those records name both the owner and the knot — every knot so discovered was listed in turn, and the cycle repeated until no new accounts appeared. It closed at 182 knots, 14,528 repositories and 17,939 accounts. Every account's sh.tangled.repo.pull and sh.tangled.repo.pull.status records were then read directly from its PDS; a pull's state is the status of the newest status record pointing at it, the same derivation the appview performs. Commits come from the patch attached to each merged PR — a gzipped git format-patch blob on newer records, an inline string on older ones. Commits pushed straight to a branch without a PR are not counted. Figures as of 4 September 2026.

Why not query the pulls directly. A first attempt asked constellation which pull records pointed at each repo. That undercounts: the record has changed shape three times — an inline patch string, then rounds with a patch blob, now versions with base and head SHAs — and 1,034 records carry no target field at all, so a backlink index cannot see them. Reading each person's repository finds every record whatever its shape. Verified against Tangled's own web interface on 37 sampled pull requests across every generation and all three states, on knot1 and on self-hosted knots alike: 42 agreed, 0 disagreed.

How complete is it. People were found three ways: repository ownership, backlinks in constellation, and Tangled's own social records — follows, knot and spindle memberships, collaborator entries — read from each person's repository, which is the only channel with no index in front of it. 17,939 accounts were read in all. Checked against Tangled's own web interface: 42 of 42 sampled pull requests had the state derived here, and 71 of 73 were present in the data at all — 97% recall. Adding the social channel found 164 authors the first two channels missed, which moved the totals by about 4%.

What it still cannot see. These figures are read from the source records, so a pull request whose author has since deactivated is unreachable even though Tangled still displays it — about 9% of accounts with no records return an error rather than an empty list. 2,172 repository DIDs could not be attributed to an owner, mostly repos whose records were deleted. Only 10 of the 182 knots answer a repo listing at all; the rest run older software, so the repository count is a floor. And the residual gap sits with small contributors, not large ones: every one of the top ten authors was re-counted against their live PDS and matched exactly, give or take pull requests opened while the crawl was running.

Not shown: time to merge. A pull record carries createdAt and its status record carries another — but they are asserted by different people's clients on different machines, and 19.4% of other authors' merged PRs claim to have merged before they were opened. Month bucketing survives this (0.5% of merged PRs land in a different month under either field, and the August ranking is unchanged); a duration does not.