Pulse
2026-09-18-v3.0
Dataset
2026-09-18-v3.0
Ruleset
b2e8889c66f7
Scanned
2026-09-16
Window
February–September 15, 2026
Local to this browser
astral-sh/ruff ↗

astral-sh/ruff AI coding statistics: 2%

of 2,837 commits in February–September 15, 2026 were committed by an AI agent — a floor, not an estimate
2% agent · top contributor 32.8%19 contributors
org-wide

Adoption is broad. Many contributors are committing agent-authored work, which is what a real organisational rollout looks like.

58
agent commits
2,779
other considered commits
19
agent contributors
32.8%
largest contributor

What shapes this result

Mode, timing, and detected signatures show whether the result reflects broad adoption or one concentrated workflow.

Assisted or autonomous

58assisted
0autonomous

Assisted — a developer’s identity authored the commit and the agent added itself as co-author. Autonomous — a bot identity authored the commit without a human identity attached. Across the whole index, 96% of agent commits are assisted.

Agent share by month

Agent-attributed commit share by month
MonthAgent shareConsidered commits
2026-025.2%366
2026-033.5%342
2026-041.9%317
2026-054.7%234
2026-060.4%477
2026-070.9%436
2026-080.9%461
2026-090%204

Peak month: 5.2%. Bars are scaled to that peak, not to 100%.

Which agents

AgentVendorCommitsShare
Claude CodeAnthropic491.7%
OpenAI CodexOpenAI90.3%
GitHub CopilotGitHub10%

Inspect the matches

Public commit samples let you inspect the signatures behind the aggregate result.

Matched commit samples

  • fca5c7cf on GitHubFix duplicated "of" in ClientOptions doc comment (#27978)Claude Code
  • 5428c216 on GitHub[ty] Expand nested union aliases when finding a TypedDict or callable (#27Claude Code
  • a9130f33 on GitHub[`pyupgrade`] Add rule to replace `while 1` with `while True` (`while-one`Claude Code
  • a2a71c59 on GitHub[ty] Add first-class support for enum complements (#24961)OpenAI Codex
  • f3b59046 on GitHub[ty] Hoist path assignment implication checks (#25107)OpenAI Codex
  • ac6361d8 on GitHub[ty] Include severity in JUnit diagnostics (#25080)OpenAI Codex
  • e51e1328 on GitHub[`flake8-async`] Implement `yield-in-context-manager-in-async-generator` (GitHub Copilot

What entered the denominator

The result begins with commit history, removes merges and routine automation, and reports literal agent signatures as a lower bound.

Exclusion ledger

Commits in window3,345
Merge commits removed−0
CI / dependency bots removed−508
Considered2,837

Bots are excluded from the denominator entirely. Agent attribution requires a literal supported signature; no code-style inference is used.

Pinned to a source state

This observation names the repository state, release, and detector that produced it. Use these identifiers when reproducing or citing the result.

Dataset release
2026-09-18-v3.0
Scan date
2026-09-16
Ruleset
sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae
Canonical repository
astral-sh/ruff
Default branch
main
Resolved
2026-09-16
Measurement window
February–September 15, 2026
Download observation JSONDeterministic export · same values as this page

Position among comparable repositories

The cohort uses the same release and measurement window, then narrows to the repository’s ecosystem and removes low-activity observations.

CohortRust · 117 eligible repositories · at least 100 considered commits2026-09-18-v3.0 · February–September 15, 2026 · 33 of 150 ecosystem repositories excluded
Agent-commit share position50th percentile

Midrank percentile; equal shares split the tied positions.

Repository
2%
Cohort median
2%
Share rank
59 / 117
0th50th100th

Percentile = (repositories below + half of 2 tied repositories) ÷ 117.

Reproduce this observation

Run the same detector locally.

Deterministic signature matching; no code-style inference. Squash merges can remove trailers, so this result remains a measured floor.

npx qmmit-cli astral-sh/ruff

Scan another repository