Fetching from the wire…
Public story · 2026-09-02 · high
Rick Brewster calls the Direct2D rewrite vibe coded and largely untested, about a quarter of the 700,000-line app he's maintained for two decades.
Why now: Willison posted Brewster's account on September 2, alongside a rewrite-cost breakdown and an audit of how production APIs handle constraints an agent never encoded in schema.
Rick Brewster says Claude wrote 180,000 lines of Paint.NET's new Direct2D engine, built from scratch after WINE's version fell short, per Simon Willison's post about Brewster's account.
He puts the total codebase at 700,000 lines, so the agent-written share comes to about a quarter of an app he's maintained for two decades. He calls the result vibe coded and largely untested, and says he corrected resource management and architectural problems by hand.
A similar ratio showed up in a different rewrite. The author behind the Rune text editor converted 65,000 lines of Go into 60,000 lines of Rust for about $650 total, according to his account of the rewrite. He skipped line-by-line translation, extracting the Go into intermediate representations first, hierarchical state machines and graphs, then generating Rust from those. He checked the result with fuzzing and differential testing, replaying terminal sequences and comparing Playwright screenshots against the old binary. A Hacker News commenter asked the obvious question: how do you confirm semantic equivalence across 65,000 lines you never read?
Neither author dodges that question. Neither has an answer for the maintenance year, when a bug report arrives against code no human has read. A new audit of production APIs found that constraints written only in prose, never encoded in a schema, failed silently in 44 of 61 commercial endpoints. Machine-checkable constraints threw an honest error in all 111 tested. The API audit and Brewster's account point at the same failure mode: agent-written code doesn't throw an error when it's wrong, and a test suite is bad at catching that.
Brewster's 180,000-to-520,000 split is probably close to the safe ceiling for code you intend to maintain for a decade. Not because an agent can't write more, but because the human-reviewed share is what you debug from once the rest misbehaves.
Each link below shares sources, entities, or timing with this story.
Simon Willison spent a while taking ChatGPT Work apart and published the map on August 30. Work splits into Work Cloud and Work Local, the latter being the renamed Codex desktop app, at $20/month and up since July 9. He enumerates six capabilities Work has that Chat doesn't, a...
Simon Willison surfaced Jarred Sumner's writeup of rewriting Bun's core from Zig to Rust this week, and the numbers stopped me cold. PR #30412, merged May 14, added roughly 1 million lines across 2,188 files, reached 99.8% test compatibility on Linux x64, and shrank the binary...
The IDE market is fragmenting, and this week drew the sharpest lines yet. Cursor 3 launched as a rebuilt agent-orchestration platform in Rust and TypeScript, replacing the VS Code fork with an Agents Window for dispatching and monitoring multiple AI coding agents. Anysphere hi...
This is the part of the launch I can't stop thinking about. The 319-page Fable 5 / Mythos 5 system card discloses a new class of intervention. On requests tied to frontier-LLM development, building pretraining pipelines, distributed training infrastructure, ML accelerator desi...
An automated framework evaluated GPT, Gemini, Claude and Grok on 85 algorithmic C# tasks derived from HumanEval, producing 340 solutions scored on three independent axes: functional correctness via unit tests, static quality via Roslyn AST analysis, and runtime efficiency via...
Simon Willison shipped it August 4, calling it the most significant release since the project launched. Companion llm-anthropic 0.26 adds Claude 5 support with server-side web search and code execution and simplifies extended-thinking configuration across variants. For scripte...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.