Repository navigation
How many red PR builds would in-loop verification prevent? A 14-hour look at Paperclip's CI #21144
adityankale190895
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi all. I build DiffCI, an open-source (MIT) tool that lets a coding agent run the tests and checks its change affects before it pushes. Disclosure up front: it's my project, and I did this analysis with Claude Code. I'd have asked in
#dev, but I can't use Discord, so I'm posting here instead.Paperclip has a lot of agent-written PRs, so I wanted to know how many red builds come from failures the author's agent could have caught locally. I used read-only GitHub API calls on your public CI history, and nothing ran on your infra.
Window: 300 runs of the
PRworkflow, 10 Nov 20:37 to 11 Nov 10:27 UTC (about 14 hours).tsc, build)"Own" means no other PR in the window failed the same test with the same message. Shared failures, such as
manual-private-cell-report-assetson 10 PRs andheartbeat-plugin-environmenton 9, are counted separately because the author couldn't have fixed them. A red run took a median of 32 minutes.Examples of own failures from agent-written PRs:
vi.mockof../services/task-retry.jsthat was missing an export;tscerror inpackages/paperclip-runner;timer.unref is not a functioninevent-loop-stall-monitor.ts.Limits:
What DiffCI selects on Paperclip today (CLI 0.3.40, local
observe --no-send, no tests run):f77b8a288)bc453342e)Most of the UI breadth comes from your plugin loaders' computed
import()s, which DiffCI can't resolve statically, so it widens to be safe. With a one-line opt-in in adiffci.jsonat the root:{ "computedImports": "follow-path-literals" }the UI change drops to 35 tests. The server change still selects 1,646 tests (34%), because those are real import chains.
I know you already select Vitest files in CI. This isn't a replacement for that. The aim is to stop agent-written failures before they push.
If any of this is useful:
npx @diffci.com/diffci observe --no-send. It reports what it would select and why, and runs nothing.DiffCI/core) that only writes a report. I'm happy to open a PR adding it if a maintainer wants it, with the Model Used section filled in.Happy to share the scripts and raw data. And if this isn't welcome here, just say so and I'll leave it.
All reactions