Prove · Attribution breadth

Attribution breadth

How RepoOps attributes AI-coauthored and bot-authored work. A merged PR can carry AI evidence in two commit-level shapes: a vendor co-author trailer, or a git author identity that is itself an AI vendor. Both match against one vendor identity table, and a match feeds the co-authored evidence tier of the AI share. Every identity shape in the table was verified in the wild and is pinned by a test; no shape was guessed.

Where it surfaces

  • AI share: a matched trailer or bot author fills the co-authored slice of the tier-labeled AI share
  • FleetView: the “Merged-work output share” table under AI tools in use, which tool produced how much merged work (GET /api/tool-inventory, field outputShare)

The two attribution paths

Co-author trailer.AI coding tools stamp their contribution as a standard git trailer: Co-authored-by: Name <email>. RepoOps parses trailer lines from the merge-commit message (anchored to a line start, so a mention in prose never matches) and checks both the display name and the email against the vendor table. A co-author that matches no vendor (a human pairing partner) contributes nothing.
Bot author.A PR whose git author IS the vendor identity, with no trailer at all, is the shape review bots and autonomous agents actually produce. The merge commit's author name and email run through the same table, so a Devin or Copilot coding-agent PR attributes from the author identity alone.

The vendor table

Fourteen vendors, each matched on verified name and email shapes:

  • GitHub Copilot, Devin, Claude Code, Cursor (including the background agent), Windsurf, Codegen, CodeRabbit, Bugbot
  • Google Jules, OpenAI Codex (cloud agent), Sweep, OpenHands, Amp, Aider (its (aider) author-name suffix on the bot-author path)

Matchers are deliberately narrow: Claude Code needs the Anthropic noreply email or a model-family name, so a human named Claude never attributes; review-bot emails anchor to verified vendor domains, never a bare substring; the bare name Jules does not match, only the bot login does. Near-miss negatives (Jules Verne, Amparo Diaz) are pinned by tests. Where a tool also has a provider adapter, the trailer and the adapter session attribute to one tool id, not two.

Evidence-tier labeling

A matched trailer or bot author lands the PR in the co-authored tier: weaker than a signed attestation, stronger than calibrated classification. Precedence is attested over co-authored over classified, with an explicit unattributed remainder, so an attestation always wins over a trailer, and a commit with no vendor evidence keeps its prior tier. In FleetView's output-share table, co-authored rows attribute to the trailer vendor, classified rows to the PR's dominant agent session, and an AI-labeled PR with no tool identity reads an honest unknown row.

Read more