Single-page Claude writes beautifully. At 5 pages it drifts. Here's the harness I built. A developer built a harness with 14 gates, auto-retry, and handoff JSON to stop multi-page drift when generating React apps from Figma files using LLMs like Claude and Codex. The harness achieved a 100% build-green rate across 10 demos and 54 screens in four business domains. The developer identified four specific drift modes in multi-page output: world-state re-invention, route hallucination, store-key decay, and silent build failures. I gave Claude / Codex a Figma file + a PRD and asked for 5-10 React pages of a working app. Single-page output is great. Multi-page output drifts in 4 specific ways. I spent ~3 months building a harness with 14 gates × auto-retry × handoff JSON to stop the drift. 10 demos, 54 screens, 4 unrelated business domains, build-green rate 100%. Code: https://github.com/JiuwenDragon/harness-mini https://github.com/JiuwenDragon/harness-mini Every "Figma to code with AI" demo on Twitter shows one screen. That's a real result — Claude vision is genuinely good at single-page UI. I verified this many times during my research: giving Claude a screenshot + a paragraph of PRD produces a 70-80 point page in 30 seconds . The promise breaks at 5+ screens. Here are the 4 drift modes I measured. | Screen 1 | Screen 2 | Screen 3 | |---|---|---| | Username: Zhang San | Username: Li Si | Username: Test User | LLM doesn't carry a "world state" across page generations. Without explicit injection, it re-invents. js // Screen "transfer" generated: