DHH retires hand-written code, plan mode becomes a mod, OpenClaw deletes 400k lines of tests, max effort loses to xhigh

A quieter news day, but with a big argument about what programming is now, mostly set off by one keynote. Andrej Karpathy and Lee Robinson posted nothing in the window, and @potetotes still returns no feed. OpenAI's DevDay is on Tuesday, so the model war has a few days off.

The End of Hand-Written Code

DHH goes pencils down. DHH's Rails World 2026 opening keynote (134,000 views; HN, 306 points, 335 comments) is about "the age of AI agents". The chapter list says it all. 37signals has gone "pencils down" on hand-written code, vibe-coded Basecamp 5, rebuilt HEY as native apps, rethought HEY's backend with agents, wrote "150,000 lines of code in a month", and DHH now prefers English to Ruby as a programming language. He calls it "retiring from hand-written code, with joy", pitches a CLI for every app so users can "bring your own agent", and says the only play left is "total optimism". HN read it as a eulogy for Rails. ksec said HEY isn't even a Rails app anymore and that its Rust rewrite cut CPU use by 99.9%, which stefanlindbohm put down mostly to moving rendering to the clients. rbanffy called it "Rust on Rails", and robgough noted there was nothing in the talk about how Rails itself will adapt to agents. andrewmutz pushed back that people hadn't watched it. DHH's point was that HEY's customers always wanted native apps and 37signals could never afford six native teams until now. CodingJeebus had the counterweight. They had just patched an AI-generated endpoint that shipped without any auth because the agent reimplemented the token check in every controller instead of one before_action.

"This was clear enough since January." Gergely Orosz found the uproar a bit odd (2,210 likes) and removed the paywall from his January deep dive, "When AI writes almost all code, what happens to software engineering?" His follow-up says that since Opus 4.6 and GPT-5.2 these tools write code "nearly as good as I can in my best language; better in other languages", but "we won't see non-devs push production code for a long time; possibly forever." k_kohlbrenner thought "forever" was strong, since people who aren't pilots still fly planes. A PM, itsmeterrylin, said they push production code but would never touch auth, payments, migrations or infra.

Simon Willison says it got harder. Quoting Gergely, Simon wrote (1,873 likes, 142,000 views): "The more time I spend working with coding agents, the more convinced I am that they make software engineering even harder. We can do amazing things with them, but unlocking their full potential requires extraordinary discipline and knowledge." The best replies were concrete. vishalseelam's worst case is an agent that writes both the implementation and the test for the same misunderstood requirement, so everything passes. lachu536 said two days of work now takes an hour, and the rest of the time goes to working out whether it did what they meant. nopeitshuman said the discipline needs backing from the organization. If engineers get rewarded for accepting output but have to justify rejecting it, "we chose not to ship this" needs to count as engineering work.

Egos, shattered or inflated. Ryan Florence posted (474,000 views) that the best part of AI is "shattering dev's egos... Your code actually sucked like everybody else's," and that his sales-guy brother-in-law and designer brother are doing things beyond anything he has done. The replies were about as friendly as you'd expect. Ryan Carniato turned it around: "AI isn't shattering egos. It's inflating them... You think of the problem that's beaten you for years. You solve it. Then you do it again tomorrow." Theo called that the best description he's seen of what changed in 2026.

Rust on the server. Jarred Sumner, quoting DHH's "I love Rust! Rust is amazing ...if you never, ever, EVER have to look at it yourself," argued (3,195 likes, 538,000 views) that "JavaScript was never designed for the server. If that doesn't change soon, JavaScript on the server will be replaced by Rust." His fix is in the engine: sound types, ahead-of-time compilation, threads with shared objects. He compared it to 2011, when Google tried to replace JavaScript with Dart and ES2015 shipped instead, and asked whether JSC or V8 with sound types and AOT could compete with Rust and C. Charlie Marsh asked the obvious question back. Why would anyone choose JavaScript over Rust for the server in that future? Armin Ronacher retweeted it, a couple of hours after admitting he might be the only person in the world who thinks Rust code is pretty.

Claude Code & Anthropic Updates

Plan mode survives as a mod. A day after floating the idea of killing plan mode, Thariq posted the new plan (1,674 likes, 220,000 views). Plan mode becomes a built-in mod, and mods get to add new modes or override shift+tab. That lets you customize the plan mode prompt, make and share your own modes, or rebind shift+tab to something else entirely. The replies were mostly relieved. rbsriram asked the practical question, whether the plan mod keeps the hard block on file edits, "the part people lean on most". emmadarkmode wanted a "we're just talking" mode because "the idea is not ready to meet my filesystem", and several people asked for a brainstorm mode so they stop typing "don't act on this". Matt Pocock was in: "Oh shit grill mode incoming. If CC ships shift-tab to change to a custom mode via a built in mod I'll ship it day 1. Love these lil Pi-like additions." Steipete's retweets included someone pointing out he had predicted the end of plan mode "a loooooong time" ago.

Don't use max. Theo recommends avoiding "max" reasoning on Opus 5.5 because Artificial Analysis's new Terminal-Bench-Science 0.1 leaderboard has it scoring higher at xhigh (62%, just behind GPT-6 Astra at max with 63%). Per Latent Space's recap, Opus goes from 24% at low effort to 62% at xhigh and back down to 59% at max. Theo's explanation is that max sets a minimum reasoning budget, while xhigh "won't over-reason if it doesn't have to." He's also tired of effort levels altogether (2,384 likes) and expects we'll "feel silly for exposing 5+ options in a dropdown." When people suggested letting Jev pick the effort level, he said "Please no."

Anthropic's Opus 5.5 guide. Getting the most out of Opus 5.5 on claude.dev (Theo credits Addy Osmani for the writeup) boils down to hand over the whole task, say what "done" means, and let it run. Delete "think carefully" lines, because Opus 5.5 always thinks before replying and removing the line made replies start sooner with no clear quality drop. For design work, list the specific styles you don't want (cream backgrounds, italic accent words, "01 / 02 / 03" labels, pill buttons), because "avoid a generic look" just swaps one default for another. It suggests a CLAUDE.md rule on when to keep going and when to stop and ask, since Opus 5.5 sometimes stops to offer "Want me to continue?" on long tasks, and keeping the task list in a file so it survives compaction. One early tester found Opus 5.5 at its lowest effort caught more bugs in review than Opus 5 at high.

Opus 5.5 edits files with bash, and Armin wants to see it. Armin Ronacher says his Opus 5.5 experience is bad enough that Mario Zechner proposed a Pi extension that injects "mofo, don't use bash to edit files." It's a UX problem, he explained, because the Python the model runs is unreadable while it executes and could touch anything, so there's nothing clean to diff. Claude Code's trick of adding everything to git and diffing is "very heavy handed." Two repliers said Claude Code's auto mode adds a system instruction steering the model toward bash edits and that CLAUDE_CODE_THRIFTY_SONIC=0 turns it off. That's unconfirmed, and there's nothing about it in the changelog. Other ideas were capturing file syscalls via LD_PRELOAD or EndpointSecurity, a write journal per path, or jj as a library. Steipete's view was "Let agent cook, review result," and Armin replied, "I like seeing what it does." He then asked whether anyone still cares about the tool calls in the transcript at all. Steipete said that's a TUI thing. OpenClaw makes models give their code-mode actions a title, and he reads the narration.

Missing Fable. Theo misses "something" about Fable even though Opus 5.5 is "probably even better than Fable in most ways." The replies tried to name it. "Opus is the colleague who closes the ticket exactly as written. Fable is the one who asks why the ticket exists." "Fable guessed more. Wrong sometimes, but it guessed." "The big model smell." Jerry Liu likes Opus 5.5 a little more than Astra, but the Codex app more than the Claude app, and one reply split it this way: "Codex Desktop/iOS > Claude Desktop/iOS, but Claude Code CLI >> Codex CLI."

Share the prompt too. Thariq's rule for sharing Claude output (PRs, artifacts, messages) is that he only does it if he'd be happy sharing the prompt. "Make a report on what happened in this incident, searching Slack and Git" passes. "Write a message that makes me sound thoughtful and caring" and "make a slide deck about the AI SDLC" don't. Best reply: "The prompt is where 'independent analysis' can turn out to mean 'please agree with me, but professionally.'"

Claude Code 2.1.282. The release adds a maxProseWidth setting that caps prose width in wide terminals while tables and code keep the full width. It also stops project and local settings from turning on OpenTelemetry export (with a startup notice listing ignored telemetry variables), and switches auto mode to the server-side classifier by default on direct API connections with telemetry off. It fixes several ways resumed sessions lost earlier extended thinking, and compaction now retries on a fallback model when the summary request gets refused. The ultracode effort visuals lost their ripple and glimmer, and Clawd's feet now sit under the corners of his body.

Agentic Coding & Agent Harnesses

OpenClaw deletes 400k lines of tests. Peter Steinberger says (4,389 likes, 422,000 views) OpenClaw deleted about 400,000 lines of its own tests "without much change in code coverage," because "modern models just love writing tests for every tiny change, even if they aren't useful." The test-audit skill that did it has an authoring gate of four questions for every new test (what behavior it protects, what regression would break it, why existing coverage misses that, and whether it needs a production seam no real caller uses). It comes with a long junk list that includes assertion-free coverage probes, expected values produced by the helper under test, and mocks that implement the behavior being asserted. His tip: "If you just tell the agent to clean up, it will stop far too early. Give it an ambitious goal," like "remove 20% of the least useful tests while maintaining code coverage within 2%." Since about GPT 5.6 the agent no longer stops early, he said. The worst of the deleted tests came from older models, and newer ones write cleverer tests that still aren't always useful. David Cramer (zeeg) added that agents also love rewriting tests when they change code, "as if the reason for those tests in the first place wasnt to prevent regressions." Steipete's fix is a set of tests the agent doesn't see until release prep.

Fourteen-year-old libuv bugs. Steipete, who works at OpenAI now, had ChatGPT crashing after the macOS 27 update, and Astra traced it to a ~14-year-old libuv bug (PR, an FSEvents path leak). He then pointed Daybreak at libuv and found eight more long-standing leaks. The PR disclaimer says he used "GPT 6 Astra Ultra for the review, with many verification and adversarial subagent rounds" and verified the fixes with a custom ChatGPT build. "Care for your oss dependencies!" One reply: "Please do not point that thing at anything I've shipped."

Theo's audit bake-off. Theo had every new model do a big audit, then a judge panel rank the audits. "Astra slaughtered. Opus and Fable close behind. Grok 4.7 and GPT-6 Sol were WAY behind." The first panel was all Fable, and when Astra judged instead, it put Fable at the bottom. Everything ran at xhigh. One reply: "a Fable panel not ranking Fable first is honestly the most convincing part of this." Another said the test was unfair because each model runs better in its own vendor's harness.

The $200 plan flips. Theo says (4,703 likes) "It's insane how much better the $200 Claude Code plan is compared to Codex right now. Just a few weeks ago, it was the other way around." Several replies claimed OpenAI is preparing a $500 plan. Theo also said "usage limits that feel unlimited on a model that feels unstoppable" is incredible. Under Tibo Sottiaux's DevDay tease from yesterday (now 1.1 million views and 1,513 replies), the top reply is someone who calls themself "a GPT guy not a Claude guy" and still says Opus 5.5 is "just too good right now," plus people complaining that Codex's models are "at capacity".

PRs with video demos. Opus 5.5 filed a PR changing T3 Code's streaming behavior, with a video demo of the change inside the PR. How? "I asked it to record a video demo, and it did." Theo says the PRs he makes with AI are "significantly better than the ones I used to make by hand." Replies said a video is much easier to review than a diff, and sebmellen pointed out that it only works if you have a local environment of your whole stack for the agent to run.

Software factory, defined. Matt Pocock added "Software Factory" to the AI Coding Dictionary ("the hype term of the day"), separately from a dark factory. He says people say "software factory" when they mean an AFK agent. Dex Horthy disagreed. A factory also includes the automations that check, review and deploy anything, human-shepherded changes included, because "a loop is forward pressure AND backpressure." Pocock also has skills v1.3 in progress, which graduates /implement-spec, /pr and /retro, retires resolving-merge-conflicts, and renames CONTEXT.md to GLOSSARY.md. He spoke at AI Engineer Paris to a full room.

Calibrated confidence for agents. Jerry Liu pointed to LlamaIndex's post on calibrated confidence scores for document extraction. You pick a threshold, auto-accept everything above it and send the rest to human review. A confidence of 0.7 might mean 95% precision and 0.9 might mean 98%, and the higher you set it, the more human review you pay for. He says the same applies to general agent decisions "(eg with Jev)", and made a video showing thresholds against precision and recall.

Editors without agents. Theo asked (618 replies, 256,000 views) for a VS Code fork with the AI stuff removed, "a minimal editor that doesn't spam me with requests to use a mediocre agent when I just want to quickly look at some code changes." The answers were VSCodium, Zed's AI toggle, and Sublime. "Editors became storefronts." On HN, Whiteboard (YC W26; HN, 270 points) calls itself an open-source "IDE for thoughtful software design" that streams diagrams of your code for review rather than editing. The makers said they "mostly made this for ourselves to fix our own gripes with agentic coding," and bpshaver wondered what to call tools like T3 Code or Superset, "harnesses for harnesses."

The year of internal tools. Geocodio's post (HN) says they went from bash scripts to full internal apps with good UX and test coverage, and that maintenance, which always stopped them before, is now handled by agents too. They credit Pocock's grill-me skill. On HN, jmathai replaced web analytics with JSONL events dumped into DuckDB, and phinnaeus asked who pays for maintaining all of it.

Videos

  • Getting the most out of Opus 5.5 (Theo, 54,000 views in about seven hours). A walkthrough of Anthropic's Opus 5.5 tips post, with his own additions, the biggest being skip max effort.
  • Rails World 2026 Opening Keynote (DHH, 134,000 views). The "pencils down" talk covered above. Chapters include "From the 10x programmer to the 1,000x programmer", "Bring your own agent: why every app needs a CLI" and "English: the programming language DHH likes better than Ruby".
  • A pelican explains w | tail -n +3 | cut -d ' ' -f1 | sort -u (Riley Goodside, 41,000 views). A 30-second animated explainer with synthesized voice, a unicycling pelican and juggled fish, made by Opus 5.5 from a one-line prompt in the Claude mobile app, running in its own VM. Simon Willison retweeted it. Separately, launchvideo.io argued "Opus 5.5 is good at explainer videos" (HN, 213 points), and HN's reply was mostly that explainer videos were already slop.
  • Elon Lied About Grok 4.7 (Theo, short). The Grok 4.7 letdown in under a minute.

Other Interesting Stuff

Historians should get tokens. Benjamin Breen argues (HN) that AI labs should fund historical research, because GPT-6 and Opus 5.5 can now help solve real problems, not just transcribe. The problems that suit them are the ones like math. They're already named by experts, the data is digitized, they fit multilingual reasoning or bespoke code, and an answer can be proven or disproven. His examples: Astra breaking a July 1941 Enigma message that had resisted decipherment (the breakthrough was noticing what other information was available), and Astra identifying the French alchemical text Isaac Newton had freely translated into Latin, which no one seems to have identified before. On HN, loufe says the models are catching mistakes in shared-ancestor genealogy, while vintermann found handwriting transcription still hallucinates too much to use.

Latent Space changes. swyx's AINews, "the calm before the DevDay storm", announced AINews v3, which merges the Latent Space Discord (tens of thousands of members, "quieter than ever" and full of self-promoters) into the newsletter (200,000 subscribers). They're also looking at moving to Beehiiv with a new homepage, and are reopening sponsorships with a new ops manager and head of editorial. The same issue's recap notes TypeSafe is reportedly raising $1B+ at a $10B+ valuation a week after a $200M round, and a Jev-as-a-Judge paper putting Jev at $0.044 per 1,000 judgments, about 277x cheaper than GPT-6.

Contrastive language models. CLM (HN, 162 points) embeds a situation and candidate actions, then ranks them, which makes it a Jev alternative with a TypeSafe-compatible API. Latent Space puts it at about 9x faster than Jev and a stronger long-horizon verifier. Its author says it grew out of robotics work from last year. HN's skeptic asked whether the latency comparison was just a local GPU against network hops, and someone who had tried Jev's playground said it reports model latency (100 to 200ms) separately.

Humans reading ChatGPT chats. A class action (HN) alleges that under a program code-named "Project Lily", first reported by 404 Media on September 14, OpenAI let outside contractors read, summarize and grade real ChatGPT conversations without disclosing it. No class has been certified yet. binlog pointed out that OpenAI's help center already says authorized staff and "trusted service providers" may see content "to improve model performance (unless you have opted out)."

Best model per dollar. bestmodelforyourbudget (HN, 171 points) picks the best model at each price, updated daily from Artificial Analysis. HN found the coding and math tabs stale (GPT 5.2 as the top math pick), and jwolfe said cost per million tokens is the wrong unit when what you care about is cost per task.