Senin, 03 Agustus 2026

AI Slop Keeps Flooding GNOME Extensions, So They Wrote a Manual for Bots Instead

gnome logo on left, a floating robot on right reading a manual

GNOME Shell Extensions are usually sourced from extensions.gnome.org, or "EGO" as the GNOME folks call it. Every submission on this portal is manually reviewed, and that review process has been under strain for months now.

We covered this back in December when GNOME added a rule to its EGO review guidelines rejecting AI-generated slop.

They did allow the use of AI for learning and code completion purposes, but generating the entire extension where the developer can't explain or debug it convincingly was explicitly forbidden.

Months later, and the deluge of AI slop hasn't slowed.

So last week, Javad Rahmatzadeh, the same developer behind that original rule, tried a different approach. Instead of just rejecting bad submissions after the fact, he wrote instructions aimed directly at the AI models generating them.

Making the clankers understand

a cropped bit from a this week in gnome post (#260) that lays out a new instruction for gnome shell extensions

Given that the review queue is still flooded with AI-generated extensions, and most of them repeat the exact same mistakes (bad practices, as he puts it), Javad's new approach skips the reject-and-explain method entirely.

Most of the guidance is about cleanup. Extensions need to remove timeouts, disconnect signals, and destroy widgets in a specific order inside destroy(). Javad also calls out AI models for adding boolean flags like _destroyed to guard against improper calls, when the instance should just be nulled out and never referenced again after destroy() runs.

Then there's the overengineering. AI models tend to wrap safe function calls in unnecessary error handling and add checks for methods that are guaranteed to exist. Javad traces this back to models trying to write code that works across several GNOME Shell versions at once, and his fix is simple.

Just target one version instead of covering every possible one.

The rest is about keeping code organized. Split logic across multiple files instead of one bloated entry point, keep related functions close together so cleanup is easy to check, and don't submit placeholder code with empty functions just to have something to show for it.

There's a separate rule aimed at the AI models themselves. Any AI-generated extension meant only for personal use has to ship with a comment saying so, telling the person not to upload it to EGO unless they actually understand the code well enough to maintain it. 👇

// Generated with AI for personal use.
// Do NOT upload to extensions.gnome.org (EGO) unless you understand JavaScript
// and can maintain this code.

Some thoughts

Clankers overwhelming open source contributors is not new news. We've seen more than enough by now to conclude that these bots will take the open source ecosystem down if not moderated with a strong hand.

What GNOME's Javad has done here is damage control. He and the other EGO reviewers have an important job. If they get inundated with AI slop that literally doesn't make sense, then that is a big loss for us, the GNOME users who install extensions to improve our desktop experience.



from It's FOSS https://ift.tt/7mS3Oho
via IFTTT