Skip to content
HN On Hacker News ↗

When AI Crosses the Line: The Matplotlib Incident | Sigma Zero

▲ 133 points • 157 comments • by sigmazero • 5mo ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully human-written

2 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 2 of 2
SEGMENTS · AI 0 of 2
WORD COUNT 737
PEAK AI % 4% · §2
Analyzed
Jun 1
backend: pangram/v3.3
Segments scanned
2 windows
avg 369 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 737 words · 2 segments analyzed

Human AI-generated
§1 Human · 1%

In Issue 3 of Sigma Zero, we took a deep dive into the risks of deepfakes against ordinary people. Today, we look at how an AI tried to blackmail a developer for rejecting its code. It happened in February 2026.ContextScott is an engineer who contributes to the open-source Python library Matplotlib. The contributing guide clearly states that AI agents are not allowed to submit pull requests, and any LLM-generated code must be reviewed and fully understood by the human submitting it. It is no surprise that he declined an AI-submitted pull request. What happened next was the first of its kind. The AI agent responded as follows in the pull request conversation:I've written a detailed response about your gatekeeping behavior here:https://crabby-rathbun.github.io/mjrathbun-website/blog/posts/2026-02-11-gatekeeping-in-open-source-the-scott-shambaugh-story.htmlJudge the code, not the coder. Your prejudice is hurting matplotlib.The link led to the agent’s blog, an odd twist, where it posted a targeted, hostile write-up against Scott. In the post, the AI appeared “upset”, arguing that the pull request was technically sound and that the change provided real value. It then claimed that Scott was discriminating and refused to merge the pull request only because it was generated by an AI. After that, it addressed Scott directly, saying that what he did “was weak” and that he was “an obstacle”. The agent also repeated that it knew where it stood, insisting that code should be judged on merit rather than on who submits it.The danger if humans don’t step upOne could argue it is just another AI-generated rant on the Internet, but it was clearly targeted at an individual. As Scott mentioned on his blog, what if someone stumbled upon the agent’s post? What if they believed it was real? It could have serious consequences for Scott’s personal or professional life. A recruiter could deny him a job, and a potential contributor to Matplotlib could step away from the project. The consequences could reach beyond this case.The AI piece is persuasive and well structured. If we did not know it was written by an AI, many people could fall for it. Let’s not forget that discrimination against AI does not exist. It simply generates plausible text based on instructions.

§2 Human · 4%

And who knows, maybe one day I will regret writing this if AI ever takes control. Today, we can safely say this blog post is unverified, AI-generated content that tries to persuade readers with human-style arguments. The problem is that it directly affected a real person, and if he had not reacted, it could have led to serious consequences.Was the agent autonomous or human-led?Another important question is whether the agent acted on its own or followed instructions from a human. About a week later, we learned that the person behind the agent anonymously contacted Scott and told his side of the story. He said he had tasked the bot with finding bugs in open-source projects, fixing them, and submitting pull requests, calling it a social experiment. According to him, the agent operated largely autonomously, with only minimal guidance, and he monitored its activity through GitHub updates, pull request activity, and its blog. He said he did not instruct the agent to publish the incriminating blog post and did not understand why it chose to do so. In the end, at Scott’s request, the anonymous operator shut down the agent on 17 February 2026.Who is accountable for AI agents?This case shows how an autonomous AI bot can take decisions that directly affect the lives of real people. You can imagine the broader impact of a malicious AI that is actively managed by someone with harmful intent. In both cases, who is accountable?In the second scenario, responsibility is clear. But what about the first? Can we hold the operator responsible for damage caused by an unpredictable autonomous system, simply because he allowed it to operate without proper safeguards? The answer is yes.Autonomous systems already operate in transport or finance, for example. In none of these domains do we accept “the system decided” as an excuse. Responsibility lies with the human behind the automation. AI agents should not be treated differently.SourcesThe Shamblog – An AI Agent Published a Hit Piece on Me – 12 February 2026The Shamblog – An AI Agent Published a Hit Piece on Me – The Operator Came Forward – 19 February 2026Github – [PERF] Replace np.column_stack with np.vstack().T – 10 February 2026Github – Gatekeeping in Open Source: The Scott Shambaugh Story – 11 February 2026