Simon Willison released web-edit 0.1a1 this week, and the changelog line is the story: performance optimizations written by Claude Opus 5.5, based on a Python 3.15 profiling report generated the day before by GPT-6 Astra Extra High running in Codex.

The profiling run came first, and it wasn’t even meant to produce a patch. Willison wanted to put the new Python 3.15 profiler through its paces, so he pointed Codex at his own app with a blunt prompt: he needed a flame graph and heatmap demo of web-edit from PyPI, research first, then make the demos. Out came an example flame graph and a source heatmap. Then he fed that output to a different model from a different vendor and got code back.

Measurement is the missing input

Most AI coding assistance runs on vibes. You describe a problem in English, the model writes something plausible, and the only verification is whether it runs. Optimization work is the rare case where that breaks down in your favor, because a profiler hands you a ranked list of where the time actually went. The heatmap goes further and attributes cost line by line in the source. That is not a description of a problem, it’s a measurement of one.

Give a model that, and the task collapses from “make this faster” to “these eleven lines account for most of the runtime, fix them.” No search, no guessing at hot paths, no rewriting a function that was never the bottleneck. Python 3.15’s profiler is the enabling piece here, not either model. The models have been able to write this kind of patch for a while; what they lacked was cheap, structured evidence about which patch to write.

Two vendors, one plain-text handoff

The vendor-agnostic bit deserves a note. GPT-6 Astra did the research and instrumentation, Opus 5.5 did the code. Nothing integrated them. The intermediate artifact was a profiling report, which is just text and images, so the handoff cost nothing. Expect more of this as people stop picking a model and start picking a model per step.

The skeptical read: nobody has published a number. The release notes say optimizations, not “2.3x faster on cold start.” This is an alpha of a small tool, so fine, but model-written performance patches are exactly the category where a change can look correct on the hot path and quietly alter behavior at the edges. A flame graph tells you where the time goes. It does not tell you whether the rewrite still does the same thing. Benchmarks and tests remain the human’s job, and the sources don’t show either.

Still, this is a cleaner loop than most of what gets demoed as agentic coding. Profile, read the profile, patch the lines the profile indicted, ship. web-edit 0.1a1 is on PyPI now, no timing figures attached.