Long-session drift on UI work in Cursor isn't the model. It's where your design intent lives.
If you've felt Cursor go from magic to drifting around prompt 15-20 on a UI task, the cause usually isn't the model. It's that the design intent only lives in the chat. Once the conversation gets long enough that Composer starts trimming history, the spec is the first thing to go. After that you're just re-prompting against a model that no longer knows what you wanted, and it hallucinates dependencies or rewrites unrelated screens.
The fix that actually holds across long sessions is moving the design spec out of chat and into the repo, as a file you u/reference per task. Exact hex values, type scale, spacing system, every screen state, the nav graph. Concrete enough that the model can't drift, durable across as many prompts and Composer trims as you need.
Writing that spec by hand for every screen is friction enough that nobody does it, so I built the references instead. 200 popular apps, each as a structured markdown DESIGN.md, with SwiftUI, Jetpack Compose, and Expo versions for each. Drop one into your repo, u/reference it in Composer or Agent, and your UI work stops degrading at prompt 20.
Repo, MIT, no dependencies: github.com/Meliwat/awesome-ios-design-md
Two questions: which apps would actually help you next, and for Cursor users on long projects, are you holding design intent in .cursorrules, an u/file, or chat? Trying to nail this down.