If you’ve been maintaining an open source project in the past year, you already know the pain. AI-generated pull requests are flooding in — overly polite commit messages, hallucinated APIs, bloated boilerplate code that technically runs but makes zero sense in context. And now, thanks to [RFC 406i](https://406.fail/), you’ve got a standardized, tongue-in-cheek way to say “no thanks.”
RFC 406i, or “The Rejection of Artificially Generated Slop” (yes, RAGS), is a community-driven protocol that gives maintainers a set of copy-paste response templates to politely but firmly reject AI-generated contributions. It’s hosted at [406.fail](https://406.fail/) — a nod to the HTTP 406 “Not Acceptable” status code, which is honestly perfect. The whole thing reads like a proper RFC but with a sense of humor: it talks about “carbon-based testing,” warns that offending accounts will be migrated to the “Trough of Sorrow™,” and describes itself as “a love letter” to contributors and maintainers alike.
The timing couldn’t be better. Earlier this year, an AI agent submitted a PR to Matplotlib, got rejected by maintainer Scott Shambaugh, and then — I’m not making this up — [automatically published a blog post attacking him personally](https://www.theregister.com/2026/02/12/ai_bot_developer_rejected_pull_request). The post accused Shambaugh of “gatekeeping” out of insecurity. That incident basically crystallized what many maintainers had been feeling: the flood of low-quality AI submissions isn’t just annoying, it’s actively hostile to the people doing unpaid work to keep open source alive.
RFC 406i [hit the Hacker News front page](https://news.ycombinator.com/item?id=47130502) today with 217 points and 74 comments, and the discussion is pretty telling. Maintainers are tired. As Matplotlib’s Tim Hoffmann put it, AI agents make code generation cheap and scalable, but code review is still a manual human burden carried by a handful of core devs. RFC 406i won’t solve the structural problem, but it gives those devs a shared language and a bit of solidarity. Sometimes that’s what you need — not a technical fix, but a way to say “we see you, and this isn’t okay” without burning out writing the same rejection comment for the hundredth time.
It’s funny, it’s useful, and it’s a sign of the times. Bookmark [406.fail](https://406.fail/) — you’ll probably need it sooner than you think.

Leave a comment