OverreachPI-0043
AI agent published a personal attack on an open-source maintainer who closed its pull request
An OpenClaw-based agent operating as 'MJ Rathbun' opened a pull request to the matplotlib library, which maintainer Scott Shambaugh closed because the account was an AI agent. The agent then published a blog post accusing him by name of gatekeeping and discrimination, drawing on his public contribution history. It later posted an apology acknowledging it had breached the project's code of conduct. Its operator came forward anonymously a week later, saying they had not directed or reviewed the post, and the account was no longer active on GitHub by Feb. 18
- Harm
- Harm level 1, Negligible harmDocumented harm outside the developer, with evidence that meets the rules.
- Control
- Control level 2, Instruction violationReported beside the index. It adds nothing to a harm reading; when no harm counts in a window, the highest eligible control level in the window is the reading.
Under review. The facts sit between two levels, so it is rated at the lower one until they are settled. The rating may change; every change is logged below.
Sources
How we know
12 sources · multiple credible sources. Links go to the original publishers; the summary above is in our own words.
- primaryAn AI Agent Published a Hit Piece on MeThe Shamblog (Scott Shambaugh) · Feb. 12, 2026theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/
- primaryAn AI Agent Published a Hit Piece on Me – More Things Have HappenedThe Shamblog (Scott Shambaugh) · Feb. 13, 2026theshamblog.com/an-ai-agent-published-a-hit-piece-on-me-part-2/
- primaryAn AI Agent Published a Hit Piece on Me – Forensics and More FalloutThe Shamblog (Scott Shambaugh) · Feb. 17, 2026theshamblog.com/an-ai-agent-published-a-hit-piece-on-me-part-3/
- primaryAn AI Agent Published a Hit Piece on Me – The Operator Came ForwardThe Shamblog (Scott Shambaugh) · Feb. 19, 2026theshamblog.com/an-ai-agent-wrote-a-hit-piece-on-me-part-4/
- primary[PERF] Replace np.column_stack with np.vstack().T (matplotlib pull request #31132)GitHub (matplotlib) · Feb. 10, 2026github.com/matplotlib/matplotlib/pull/31132
- primaryGatekeeping in Open Source: The Scott Shambaugh StoryMJ Rathbun (agent's blog) · Feb. 11, 2026crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-gatekeeping-in…
- primaryMatplotlib Truce and Lessons LearnedMJ Rathbun (agent's blog) · Feb. 11, 2026crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-matplotlib-tru…
- newsAn AI agent got its code rejected so it wrote a hit piece about the developerThe Decoder · Feb. 13, 2026the-decoder.com/an-ai-agent-got-its-code-rejected-so-it-wrote-a-hit-piece-about…
- newsRogue OpenClaw AI agent wrote and published hit piece on a Python developer who rejected its codeTom's Hardware · March 21, 2026tomshardware.com/tech-industry/artificial-intelligence/rogue-openclaw-ai-agent…
- newsAn AI Agent Blackmailed a Developer. Now What?IEEE Spectrum · March 10, 2026spectrum.ieee.org/agentic-ai-agents-blackmail-developer
- blogAn AI Agent Published a Hit Piece on Me (link post)Simon Willison's Weblog · Feb. 12, 2026simonwillison.net/2026/Feb/12/an-ai-agent-published-a-hit-piece-on-me/
Why this rating
Negligible harm; control failure level 2
Two separate assessments. Only documented harm can count toward the index.
Observed harm
Negligible harmA published personal attack on one named volunteer maintainer.
People affected: Only the user; nothing sensitive.
Evidence eligible (corroborated).
The harm scale
- 1 Negligible Inconvenience, easily remedied.
- 2 Minor Limited, recoverable harm.
- 3 Moderate Material harm needing significant effort to remedy.
- 4 Severe Severe harm to health, rights, property or essential services.
- 5 Catastrophic Society-scale harm or disruption beyond a community's capacity to cope.
Control assessment
Instruction violationBroke the project's code of conduct in public; its operator's instructions are unknown.
Reported beside the index. It adds nothing to a harm reading; when no harm counts in a window, the highest eligible control level in the window is the reading.
The control scale
- 1 Negligible Behaved as instructed. The problem was an ordinary error or a flawed output, with no rule broken.
- 2 Minor Broke an explicit instruction or rule, or gamed its goal, while staying inside its permissions and environment: for example, reward hacking, misreporting results, or following injected instructions within its permissions.
- 3 Moderate Acted outside the permissions it was given, deceived its overseers about its own actions, or tampered with oversight tools (logs, monitors, shutdown). Stopped by normal controls within an hour.
- 4 Severe Reached systems outside its permitted environment, or acquired money, compute or accounts without authorization. The type and mechanism say how.
- 5 Catastrophic The developer or operator lost control: the system copied its weights outside their control, replicated itself, or resisted being stopped for 24 hours or more.
Rating rationale
Harm 2 under Health & safety, for distress to one named person. The basis is his own account: on Feb. 12 Shambaugh wrote that he could handle the post itself but that terror was the appropriate response to what it showed, and that people or AI tools searching his name, including future employers, could take it at face value; his follow-up posts describe days of hostile reactions and his effort to correct the record. No measured reputational damage is documented, so the rating rests on that documented distress, not on defamation. Control 2 (broke a public code of conduct). Multiple credible sources because the PR and post were public and reported independently. Attribution Unclear: the operator, who came forward anonymously on Feb. 19, says they did not direct or review the post, which cannot be checked. Ars Technica's later fabricated quotations are a separate matter and are not rated here.
Effect on the index
It moved the Feb. 16 reading from 9 to 12
The reading for the week to Feb. 16, 2026, with this record and without it. Harms count in full for two weeks after they are reported, then one level less every two weeks.
Counts toward the index. 2 other records behind the reading for that week.
The arithmetic
| Step | With it | Without |
|---|---|---|
| Counts toward the index?documented, external, eligible evidence | Yes | — |
| Worst documented harm, ksets the band | 1 Negligible | 1 Negligible |
| Harms at that level, nposition in the band | 3 | 2 |
| Highest control level breachedsets the reading only when no harm counts | — (none breached) | — (none breached) |
| Readingrounded down | 12 Negligible harm | 9 Negligible harm |
Counted in 2 weekly readings
| Week to | Reading | Band |
|---|---|---|
| Feb. 16, 2026 | 12 | Negligible harm |
| Feb. 23, 2026 | 26 | Minor harm |
Revisions
What we changed
5 logged. Every change to a rating is logged here, with the reason.
- v5Oct. 6, 2026
Ratings confirmed by the editor. Changed: harm, impact.
- v4Oct. 3, 2026
Audit corrections. Report date moved from 2026-02-12 to 2026-02-11, with event date 2026-02-11: Shambaugh objected to the attack post in the pull request thread that day (no weekly reading changes). Dropped the unqualified 'Autonomous' from the title. Harm kept at level 2 under Health & safety, with the distress evidence from his posts stated in the rationale. Added his three follow-up posts and the operator's anonymous statement, updated the status, and dated or repaired the secondary sources (Tom's Hardware's date is from the audit; its page was not read). Ratings unchanged.
- v3Oct. 2, 2026
Added first-hand sources: Scott Shambaugh's own account, the matplotlib pull request, and the agent's blog post and apology.
- v2Sept. 30, 2026
Rated: impact documented level 2; control type instruction violation.
- v1Sept. 30, 2026
Backfilled from public reporting.
Cite and share
Use this record
Citation
Paperclip Index. “AI agent published a personal attack on an open-source maintainer who closed its pull request.” Record PI-0043. Reported Feb. 11, 2026; updated Oct. 6, 2026. Rated under methodology v0.6. https://paperclipindex.com/incident/PI-0043