200 build prompts, one metric that matters: does the thing show up on screen.
Across 200 representative build prompts, Frames produced valid, parseable HTML 96.0% of the time, and rendered something usable on the first try 93.5% of the time. The gap between those two numbers is the interesting part.
Frames is the panel where Wren's output stops being text and starts being a thing you can click. So the honest question isn't "is the code good" — that's subjective and slow to score. The honest question is narrower and testable: when a user asks Wren to build something, does it render? A page that throws a parse error before the first paint has failed the user regardless of how elegant the intent was.
We assembled 200 build prompts meant to mirror what people actually type into Frames, sampled from three buckets in rough proportion to real usage:
Each prompt ran once, on Wren Field (the default tier), with no retries and no human touch-ups — because that's the experience a first-time user gets. We then scored two things automatically:
"Valid" is a lower bar than "good." A page can parse cleanly and still be ugly or subtly wrong. We are deliberately measuring the floor here, because the floor is what determines whether the product feels reliable.
The headline numbers, by bucket:
| Bucket | Prompts | Valid HTML | First render |
|---|---|---|---|
| Single-file UI | 120 | 98.3% | 96.7% |
| Interactive / stateful | 55 | 94.5% | 89.1% |
| Data & SVG | 25 | 88.0% | 88.0% |
| All prompts | 200 | 96.0% | 93.5% |
So 8 of 200 outputs (4.0%) failed to parse, and 13 of 200 (6.5%) failed to render usefully on the first try. Every render failure that was not a parse failure — 5 of them — came from JavaScript that threw at load, not from broken markup. That's the shape worth naming: markup is mostly solid; the fragile part is behavior.
The failures cluster into three modes:
</div> or </table> occasionally goes missing near the end, and the browser's error recovery reflows the layout into something wrong. Length is the strongest predictor of failure we found.This is a small, one-shot, self-run study, and the number is softer than one decimal place implies. Specifically:
The one thing we'd stake the number on: length drives failure. The fix we're prioritizing is a closing-tag validation pass on generations over ~200 lines before the frame ever paints — cheap, and it targets the majority of the parse failures directly. We'll report back whether it moves the 96%.
These are Wren's own product-research notes — not model research, not third-party benchmarks. See the live figures on the evals page and the rollup in The Wren Index.
← Field Notes