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, fieldoutputShare)
The two attribution paths
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.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.