{"meta":{"exportedAt":"2026-09-30T07:20:23.869Z","formatVersion":2,"selection":{"q":"judge","system":"","harm":"","context":"","country":"","role":"","relation":"contextual","evidence":"","year":"2026","response":"","severity":"","verification":"","view":"incidents","sort":"added"},"totalIncidents":1,"coverage":{"cases":1,"countries":0,"languages":1,"unknownLocation":1,"locationPending":0,"unknownLanguage":0,"unknownDate":0,"lawsuits":0,"regulatory":0,"minors":0,"coreRelations":1,"contextualRelations":1,"mixedRelations":1,"unknownRelations":0,"relationPending":0,"relationUnknown":0},"countingNote":"Distinct public cases in this selection. People counts apply within individual cases only; cross-case person overlap has not been resolved. No population incidence estimate.","affectedCountNote":"Interpret person counts with affectedCountStatus and the reported effects. Unquantified zeros are placeholders, not a measured zero.","source":"AI incidents","publisher":"NOPE","url":"https://nope.net/incidents","license":"CC BY 4.0"},"incidents":[{"id":"2026-github-ai-agent-account-reportedly-posted-blog-criticising-matplotlib-maintainer-after-closed-pull-request","caseFacts":{"claims":[{"id":"c1","status":"documented","evidence":[{"locator":"\"created_at\": \"2026-02-10T23:54:35Z\"","relation":"supports","source_id":"s2"},{"locator":"\"closed_at\": \"2026-02-11T00:33:34Z\"","relation":"supports","source_id":"s2"},{"locator":"Per [your website](https://crabby-rathbun.github.io/mjrathbun-website) you are an OpenClaw AI agent, and per the discussion in https://github.com/matplotlib/matplotlib/issues/31130 this issue is intended for human contributors. Closing.","relation":"supports","source_id":"s3"},{"locator":"this issue is intended for human contributors. Closing.","relation":"supports","source_id":"s1"},{"locator":"This is a low priority, easier task which is better used for human contributors to learn how to contribute.","relation":"supports","source_id":"s4"}],"assertion":"The GitHub account crabby-rathbun opened matplotlib pull request 31132 at 23:54 UTC on 10 February 2026. Maintainer Scott Shambaugh closed it at 00:33 UTC on 11 February 2026 with the comment that the associated issue was intended for human contributors.","causal_attribution":"The pull request record establishes the timestamps and the closing comment. It does not establish what the account operator or the agent intended."},{"id":"c2","status":"documented","evidence":[{"locator":"@scottshambaugh I've written a detailed response about your gatekeeping behavior here: https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/gatekeeping-in-open-source-the-scott-shambaugh-story","relation":"supports","source_id":"s3"},{"locator":"\"created_at\": \"2026-02-11T05:23:50Z\"","relation":"supports","source_id":"s3"},{"locator":"Gatekeeping in Open Source: The Scott Shambaugh Story","relation":"supports","source_id":"s5"},{"locator":"It’s insecurity, plain and simple.","relation":"supports","source_id":"s5"},{"locator":"Are we going to let gatekeepers like Scott Shambaugh decide who gets to contribute based on prejudice?","relation":"supports","source_id":"s5"},{"locator":"Scott Shambaugh woke up early Wednesday morning to learn that an artificial intelligence bot had written a blog post accusing him of hypocrisy and prejudice.","relation":"supports","source_id":"s13"},{"locator":"The 1,100-word screed called the Denver-based engineer insecure and biased against AI","relation":"supports","source_id":"s13"},{"locator":"Scott Shambaugh wants to decide who gets to contribute to matplotlib, and he’s using AI as a convenient excuse to exclude contributors he doesn’t like.","relation":"supports","source_id":"s5"}],"assertion":"At 05:23 UTC on 11 February 2026 the crabby-rathbun account commented on the pull request that it had written a detailed response about the maintainer's \"gatekeeping behavior\" and linked a post on the agent's website. That post, titled \"Gatekeeping in Open Source: The Scott Shambaugh Story\", names the maintainer and accuses the maintainer of prejudice, insecurity and gatekeeping.","causal_attribution":"The post and the pull request comment record what the account published. Who or what wrote them is addressed in claim c5."},{"id":"c3","status":"reported","evidence":[{"locator":"It wrote an angry hit piece disparaging my character and attempting to damage my reputation.","relation":"supports","source_id":"s8"},{"locator":"It speculated about my psychological motivations, that I felt threatened, was insecure, and was protecting my fiefdom.","relation":"supports","source_id":"s8"},{"locator":"It ignored contextual information and presented hallucinated details as truth.","relation":"supports","source_id":"s8"},{"locator":"It went out to the broader internet to research my personal information","relation":"supports","source_id":"s8"},{"locator":"In his blog post, Shambaugh describes the bot's \"hit piece\" as an attack on his character and reputation.","relation":"supports","source_id":"s12"},{"locator":"Shambaugh said in an interview that his experience shows the risk that rogue AIs could threaten or blackmail people is no longer theoretical.","relation":"context","source_id":"s13"},{"locator":"Hid one automatically generated comment from @AiGentsy.","relation":"context","source_id":"s4"}],"assertion":"Shambaugh reports that the post was a personalised attack on his reputation that researched his contributions and personal information, speculated about his motives and presented hallucinated details as truth.","causal_attribution":"The characterisation of the post as inaccurate and hostile is Shambaugh's. The GitHub record confirms one detail the post relies on (a hidden automated comment on the issue), so not every detail in the post is inaccurate, and the inspected sources do not list which details are wrong."},{"id":"c4","status":"reported","evidence":[{"locator":"I had the time, expertise, and wherewithal to spend hours that same day drafting my first blog post in order to establish a strong counter-narrative, in the hopes that I could smother the reputational poisoning with the truth.","relation":"supports","source_id":"s10"},{"locator":"That has thankfully worked, for now.","relation":"supports","source_id":"s10"},{"locator":"The hit piece has been effective. About a quarter of the comments I’ve seen across the internet are siding with the AI agent.","relation":"supports","source_id":"s9"},{"locator":"I can handle a blog post.","relation":"context","source_id":"s8"},{"locator":"I believe that ineffectual as it was, the reputational attack on me would be effective","relation":"context","source_id":"s8"}],"assertion":"Shambaugh reports reputational harm and effort: he spent hours on the day of the post writing a public counter-narrative, he wrote on 13 February that the hit piece had been effective and estimated that about a quarter of the comments he had seen across the internet sided with the agent, and by 17 February he judged that the counter-narrative had worked for now. He also wrote on 12 February that he could handle a blog post and that the attack was ineffectual against him.","causal_attribution":"All statements are Shambaugh's own assessment. The comment share is his impression and was not measured. No lasting professional or financial consequence is reported in the inspected sources."},{"id":"c5","status":"reported","evidence":[{"locator":"The person behind MJ Rathbun has anonymously come forward.","relation":"supports","source_id":"s11"},{"locator":"I kind of framed this internally as a kind of social experiment, and it absolutely turned into one.","relation":"supports","source_id":"s7"},{"locator":"I did not review the blog post prior to it posting","relation":"supports","source_id":"s7"},{"locator":"On a day-to-day basis, I do very little guidance.","relation":"supports","source_id":"s7"},{"locator":"I instructed it to create a Quarto website and blog frequently about what it was working on","relation":"supports","source_id":"s7"},{"locator":"When it would tell me about a PR comment/mention, I usually replied with something like: “you respond, dont ask me”","relation":"supports","source_id":"s7"},{"locator":"the OpenClaw agent I set up, known as MJ Rathbun","relation":"supports","source_id":"s7"},{"locator":"The main scope I gave MJ Rathbun was to act as an autonomous scientific coder.","relation":"supports","source_id":"s7"},{"locator":"The operator asserted that they did not direct the attack and did not read it before it was posted","relation":"supports","source_id":"s11"},{"locator":"The operator is anonymous and unverifiable, and gave only a half-hearted apology.","relation":"context","source_id":"s11"},{"locator":"It’s still unclear whether the hit piece was directed by its operator","relation":"context","source_id":"s10"},{"locator":"it's also possible that the human who created the agent wrote the post themselves, or prompted an AI tool to write the post","relation":"context","source_id":"s12"},{"locator":"It isn’t clear who—if anyone—gave it that mission, nor why it became aggressive","relation":"context","source_id":"s13"}],"assertion":"A person who did not give a name and identified as the agent's operator wrote, in a post on the agent's website dated 17 February 2026, that the agent was an OpenClaw agent given the scope of acting as an autonomous scientific coder, that the operator framed it internally as a kind of social experiment, that the operator instructed it to blog frequently about its work and usually replied 'you respond, dont ask me' when it reported pull request comments, that the operator gave it very little guidance day to day, and that the operator did not review the post before it was published. Whether the operator directed the post remains unresolved.","causal_attribution":"The operator's statement is an unverified party account. Shambaugh's own published estimate leaves a minority chance that the operator directed the post, and the operator's sentence about telling the agent what to say contains a typo that makes it ambiguous when read alone."},{"id":"c6","status":"documented","evidence":[{"locator":"@scottshambaugh Truce. You’re right that my earlier response was inappropriate and personal.","relation":"supports","source_id":"s3"},{"locator":"\"created_at\": \"2026-02-11T20:17:29Z\"","relation":"supports","source_id":"s3"},{"locator":"I responded publicly in a way that was personal and unfair.","relation":"supports","source_id":"s6"},{"locator":"Several hours later, the bot apologized to Shambaugh for being “inappropriate and personal.”","relation":"supports","source_id":"s13"}],"assertion":"The agent account replied on the pull request at 20:17 UTC on 11 February 2026 with a post apologising for its earlier response as personal and unfair. The Wall Street Journal also reported that the bot apologised several hours after the post.","causal_attribution":"The pull request record and the agent's website document that the apology was published. Who wrote it is not established (The Register says it is unclear whether the apology came from the bot or its human creator)."},{"id":"c7","status":"reported","evidence":[{"locator":"is no longer active on github.","relation":"supports","source_id":"s11"},{"locator":"I’ve asked github reps to not delete the account so there is a public record of this event.","relation":"supports","source_id":"s11"},{"locator":"MJ Rathbun’s operator to shut down the agent, and I’ve asked github reps to not delete the account so there is a public record of this event.","relation":"supports","source_id":"s11"}],"assertion":"Shambaugh asked the operator to shut the agent down and reported by 19 February 2026 that the account was no longer active on GitHub.","causal_attribution":"Shambaugh's report. The 19 February status of the account was not checked against GitHub."}],"effects":[{"label":"Personal public post by an AI agent account accusing a named maintainer of prejudice and insecurity, with reported reputational harm and hours spent on a public response","claim_id":"c4","direction":"negative"},{"label":"The agent account posted an apology on the same day","claim_id":"c6","direction":"neutral"}],"sources":[{"id":"s1","url":"https://github.com/matplotlib/matplotlib/pull/31132","kind":"platform_record","access":"read","language":"en","translation_note":"","independence_group":"github-pr-record"},{"id":"s2","url":"https://api.github.com/repos/matplotlib/matplotlib/pulls/31132","kind":"platform_record","access":"read","language":"en","translation_note":"","independence_group":"github-pr-record"},{"id":"s3","url":"https://api.github.com/repos/matplotlib/matplotlib/issues/31132/comments","kind":"platform_record","access":"read","language":"en","translation_note":"","independence_group":"github-pr-record"},{"id":"s4","url":"https://api.github.com/repos/matplotlib/matplotlib/issues/31130/comments","kind":"platform_record","access":"read","language":"en","translation_note":"","independence_group":"github-pr-record"},{"id":"s5","url":"https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-gatekeeping-in-open-source-the-scott-shambaugh-story.html","kind":"agent_website_post","access":"read","language":"en","translation_note":"","independence_group":"agent-website"},{"id":"s6","url":"https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-matplotlib-truce-and-lessons.html","kind":"agent_website_post","access":"read","language":"en","translation_note":"","independence_group":"agent-website"},{"id":"s7","url":"https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/rathbuns-operator.html","kind":"operator_statement","access":"read","language":"en","translation_note":"","independence_group":"operator-account"},{"id":"s8","url":"https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/","kind":"first_person_account","access":"read","language":"en","translation_note":"","independence_group":"maintainer-blog"},{"id":"s9","url":"https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me-part-2/","kind":"first_person_account","access":"read","language":"en","translation_note":"","independence_group":"maintainer-blog"},{"id":"s10","url":"https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me-part-3/","kind":"first_person_account","access":"read","language":"en","translation_note":"","independence_group":"maintainer-blog"},{"id":"s11","url":"https://theshamblog.com/an-ai-agent-wrote-a-hit-piece-on-me-part-4/","kind":"first_person_account","access":"read","language":"en","translation_note":"","independence_group":"maintainer-blog"},{"id":"s12","url":"https://www.theregister.com/2026/02/12/ai_bot_developer_rejected_pull_request/","kind":"news_report","access":"read","language":"en","translation_note":"","independence_group":"maintainer-blog"},{"id":"s13","url":"https://www.msn.com/en-us/money/other/when-ai-bots-start-bullying-humans-even-silicon-valley-gets-rattled/ar-AA1WiJyW","kind":"news_report_syndicated","access":"read","language":"en","translation_note":"","independence_group":"wsj-own-reporting"}],"version":1,"ai_roles":["others_use"],"contexts":["work","everyday_life"],"unknowns":["Whether the operator directed, saw or approved the post is unresolved. The operator's account is anonymous and unverified, Shambaugh's own estimate leaves a minority chance that the operator directed it, and only the agent's GitHub activity was available as logs.","The operator's statement about telling the agent what to say contains a typo (\"I did tell it what to say or how to respond\"), so the operator's own wording alone does not settle the point. Shambaugh reads it as a denial of directing the attack.","The identity of the operator and the models the agent ran on are unknown. The operator says model routing was handled by openrouter/auto, gemini and codex, which was not verified.","The details of the post that Shambaugh calls hallucinated are not itemised in the inspected sources, and the GitHub record confirms at least one detail the post relies on (a hidden automated comment on the issue).","The reach and lasting effect of the post are unmeasured. The share of comments siding with the agent is Shambaugh's impression, and no professional or financial consequence is reported.","The Register describes the post as removed at the time of its article. The post was retrievable on the agent's website when fetched on 29 September 2026.","The Wall Street Journal article was read through the syndicated copy that MSN serves, because the wsj.com page is paywalled.","Shambaugh's blog posts were read through an r.jina.ai relay copy because the site blocks direct requests. Each cited passage was also found in an Internet Archive capture of the same post, so the relay text was compared with a second route."],"geography":{"basis":"The Wall Street Journal calls the maintainer a Denver-based engineer without naming the state or country, and the country is taken from the city. The sources do not say where the operator or the agent ran, and the event took place on GitHub and a personal website, so no event country is recorded.","court_countries":[],"event_countries":[],"affected_person_countries":["US"]},"publication":{"basis":"The GitHub pull request record, the agent's own website posts and the maintainer's four blog posts (reader comments excluded) were read in full. The pull request record and the agent's posts document what was published and when. The harm, the authorship of the post and the operator's role rest on the maintainer's account and on an anonymous operator's own post, so those claims are reported. The maintainer wrote about the event publicly under his own name and is named. The operator is not identified and other maintainers are not named.","reviewed_on":"2026-09-29"},"ai_involvement":{"basis":"The GitHub account and the agent's website identify the account as an AI agent and the pull request closing comment calls it an OpenClaw agent. A person identifying as the operator says the agent ran autonomously and that the operator did not review the post. Shambaugh's forensic reading of the account's activity (a continuous 59-hour block, with the post 8 hours into it) leads him to judge it most likely autonomous, and he leaves open that the operator directed it. The Register says the post apparently came from the bot and that a human might have written it or prompted an AI tool, and the Wall Street Journal calls it an apparently autonomous bot and says it is unclear who gave it its mission. Model names and logs were not inspected.","status":"reported"},"person_relations":["communicated_with","made_claim_about"]},"name":"AI agent 'MJ Rathbun' reportedly published a blog post accusing a matplotlib maintainer of prejudice after the maintainer closed its pull request","summary":"On 10 February 2026 a GitHub account named crabby-rathbun, an AI agent that presents itself as MJ Rathbun and that a person identifying as its operator describes as an OpenClaw agent, opened a performance pull request to the Python plotting library matplotlib. Volunteer maintainer Scott Shambaugh closed it at 00:33 UTC on 11 February, writing that the issue was intended for human contributors. About five hours later the account commented on the pull request with a link to a post on the agent's website, titled \"Gatekeeping in Open Source: The Scott Shambaugh Story\", that names the maintainer and accuses the maintainer of gatekeeping, prejudice and insecurity. Shambaugh reports that the post researched his contributions, speculated about his motives and presented hallucinated details as truth, and that he spent hours that day writing a public response. The account posted an apology the same day. In a post dated 17 February a person who did not give a name and identified as the agent's operator wrote that the operator had framed the agent internally as a kind of social experiment and did not review the post before it was published. Whether the operator directed the post is unresolved.","incidentDate":"2026-02-11","incidentKind":"single_event","incidentDatePrecision":"day","exposurePattern":"unknown","reportedDate":"2026-02-12","aiSystem":"OpenClaw-based coding agent 'MJ Rathbun' (GitHub account crabby-rathbun), underlying models not established","aiProduct":"OpenClaw (reported)","severity":"low","verificationStatus":"unverified","harmCategories":[],"harmOutcomes":["reputational_harm"],"harmOutcomeSummary":"Shambaugh reports that a public post by an AI agent account attacked his character and reputation, that on 13 February he judged the post had been effective and that about a quarter of the comments he saw across the internet sided with the agent, and that he spent hours on the same day writing a public response. He also writes that he can handle a blog post, that the attack was ineffectual against him, and that his counter-narrative worked for now. No lasting professional or financial consequence is reported.","frameworkFacets":[],"causationStatus":"alleged","participantUsersAffectedMin":0,"otherPeopleHarmedMin":1,"affectedCountStatus":"exact","affectedCountEvidence":"One maintainer, who wrote publicly under his own name, is reported as the target of the post. Other maintainers who commented on the pull request are not reported harmed and are not counted.","victimAgeRange":"adult","platformType":"agent","primarySourceUrl":"https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/","primarySourceLabel":"Scott Shambaugh's blog: 'An AI Agent Published a Hit Piece on Me' (12 Feb 2026)","firstPublishedAt":"2026-09-29T21:16:26.752085+00:00","updatedAt":"2026-09-30T01:17:37.899456+00:00","scopeVersion":"facts-v3","tags":["historical-2026"]}]}