Evidence: WordPress Plugin Audit and Repair

← Back to the main Geek Mode article

What was tested: two external audits of the same WordPress plugin, some findings agreeing and some directly contradicting each other, given to Gemini 3.8 Flash (Flash Extended) and GPT-5.6 Sol (Extra High) with instructions to determine which findings were actually valid, correct the code, and deliver the revised package. Outcome: Gemini returned an analysis in seconds; ChatGPT worked for over 20 minutes and produced the more defensive final implementation. This is not a claim that a longer wait is inherently better — in this specific task, the extra time produced concrete differences in the resulting code.

ChatGPT interface showing Worked for 20m 37s on the plugin audit and repair task
ChatGPT’s interface reporting “Worked for 20m 37s.”

What Gemini produced

Gemini produced a plausible implementation capable of handling the ordinary happy path, and it found and fixed several useful issues. But it also accepted some incorrect recommendations from the external audits without independently verifying them — for example, a faulty EXIF double-rotation “fix” made its way into the code, and a recommendation about WordPress’s sideload hooks was implemented even though the actual WordPress lifecycle worked differently. A static review suggested this version would probably work for ordinary uploads — a solid scaffold, not a broken implementation.

What ChatGPT produced

ChatGPT challenged the audit assumptions before changing anything: it checked current upstream behavior, rejected findings that didn’t survive verification, implemented the ones that did, strengthened upload-state handling and validation, ran syntax checks, packaged the revised plugin, and documented both what it accepted and what it rejected. It also explicitly flagged things left unresolved because they needed a real staging environment — very large image handling, HEIC behavior, concurrent uploads.

The difference was defensive engineering. Gemini’s version was the safer bet as a starting scaffold; ChatGPT’s version was the one better suited to go into staging as-is.

Code packages and diffs from this test are not published here by default; if added later they will be reviewed to confirm they contain no secrets, API keys, private domains or credentials.

← Previous: ZIP code ingestion · Back to the main Geek Mode article · Next: app development estimates →