Keep the model inside the decision you already made
Write the decision before the draft. Then cut every sentence that crosses it, even when the extra sentence is fluent.

An independent journal. Not a shop, and not affiliated with the tools it writes about. Disclaimer
CursorUltra Blogs
A journal for people who build things. How to brief a model, how to read the diff it offers, and how to keep a program understandable after the draft exists.
Write the decision before the draft. Then cut every sentence that crosses it, even when the extra sentence is fluent.





Callers should have one door. If cache, retry, and helpers are reachable from outside, the next change will couple to them.

Five paths you can name are a map. A tree of folders you cannot explain is a pile the next change will make deeper.
Generated code needs a smaller test list than people write, and a stricter one. Name the cases before you ask for the implementation.
A feature prompt invites a small application. A function prompt invites a change you can review in one sitting.
A model will happily add files. The repository should only gain a file that a later change will still want.
Choose by the shape of the work: a short edit, a careful reading, or a long trace. Ignore the catalogue page.
The fastest way to make a generated module unreadable is to accept its names. Rename before you build on top.