A hilltop view over a vast valley of glowing town lights that never dim, under a huge starry night sky, with a coral lobster constellation woven into the lights.
← Sushaanth Srinivasan

Data teardown · 🦞 openclaw/openclaw · day 222

100,000 contributions. One flat line.

OpenClaw crossed 100,000 issues and pull requests in 222 days, built mostly by AI agents with no central team. In the replies, someone asked whether that number is real progress or just churn. I went through the repo to find out, and the number that stuck with me had nothing to do with merges.

The finding

A codebase that never sleeps

Human repos follow the clock. Commits climb through the working day and drop off overnight, wherever the contributors happen to live. Line each project up against its own busiest hour and the pattern is easy to see: React, VS Code and Linux all fall close to zero at night. OpenClaw barely moves — its quietest hour still runs at 60% of peak.

0%25%50%75%100%0006121823hour of day · UTCOpenClawLinuxReactVS Code3%60%
28.9×
React day/night swing
12.9×
VS Code day/night swing
9.7×
Linux day/night swing
1.67×
OpenClaw day/night swing

A human team’s busiest hour has up to 29× the commits of its quietest. OpenClaw’s is 1.67×. With agents doing most of the work, there’s no evening slowdown and no weekend, so activity holds steady straight through the night.

The churn question, answered

The firehose, and the filter

56,268 pull requests in 222 days, about 253 a day, and roughly one in five merged. A 22% merge rate looks rough on its own, but the month-by-month view is kinder: most of the rejected PRs came during the early rush, and the rate kept climbing after that.

97,819
issues + PRs — the “100,000”
56,268
pull requests opened (~253/day)
22.0%
merged — the swarm self-filters
0.27%
of merged PRs later reverted (34)

The firehose, by outcome

merged closed unmerged / open
0k6k12k18kJan: 2,822 openedJan: 725 merged (26%)2,822JanFeb: 12,405 openedFeb: 1,676 merged (14%)12,405FebMar: 16,668 openedMar: 2,066 merged (12%)16,668MarApr: 8,447 openedApr: 2,386 merged (28%)8,447AprMay: 7,787 openedMay: 3,205 merged (41%)7,787MayJun: 6,857 openedJun: 1,977 merged (29%)6,857JunJul: 1,251 openedJul: 353 merged (28%)1,251Jul** Jul = month-to-date

The swarm matured

merge rate of PRs opened that month

0%15%30%45%Jan: 26% merged (725/2,822)JanFeb: 14% merged (1,676/12,405)FebMar: 12% merged (2,066/16,668)12%trough · MarMarApr: 28% merged (2,386/8,447)AprMay: 41% merged (3,205/7,787)41%peak · MayMayJun: 29% merged (1,977/6,857)JunJul: 28% merged (353/1,251)Jul

Most of that 72% was PRs getting turned down before they ever landed, not merged work that broke and had to be pulled back out. Volume peaked in March at 16,668 PRs with the merge rate down at 12%; as the rush cooled it climbed past 41%, and almost nothing that did merge was later reverted.

A few more things in the data

Field notes

Governance

It rewrote its own constitution 442 times

The agents’ rulebook, AGENTS.md, was touched in 442 commits — roughly twice a day. The human-facing CLAUDE.md changed 5 times. Nearly all of that editing is the agents tuning the rules they run on.

AGENTS.md442
CLAUDE.md5

Authorship tells

Chatbot politeness, fossilised in git

The conversational habits of the models leak into the permanent record. Count them across every issue, PR and comment:

  • I cannot…1,014×
  • …as an AI…533×
  • let me fix…220×
  • …absolutely right198×
  • I apologize / my apologies130×
  • great question26×

Durability

34 times the swarm undid itself

Of 12,399 merged PRs, only 34 were ever reverted — 0.27%. Small enough to read every one. A few of the more revealing:

  • revert(cli): remove global root refusal
  • Revert "Check ClawHub trust before plugin installs"
  • Revert "fix(memory): warn on gateway watcher FD risk"

Vanity metric

The lobster index

🦞
22

commit messages include a literal lobster emoji — the project’s mascot, turning up right there in the git log.

Method & caveats

All figures pulled from the public GitHub REST & Search APIs on 4 July 2026. “Merged” is a cohort rate: of the PRs opened in a given month, the share later merged. July is month-to-date. Reverts count merged PRs whose title matches GitHub’s auto-generated Revert "…" form (an undercount if reverts landed another way). The heartbeat uses GitHub’s 52-week commit punch-card, normalised per repo to its own busiest hour. Not shown: keyword-based “which model wrote it” counts — too easily confused with mentions of the tools as product features to publish honestly.