Fresh per step, with the "knows everything" part moved to files:
- CLAUDE.md: stable things (stack, conventions, commands).
- A plan file for the feature: steps, decisions, what's done.
- Git: what actually changed.
A fresh session reads those three in a minute and is sharper than a long one. The sloppiness you see is real: long contexts full of old attempts, dead ends and big file reads make the model pay attention to the wrong things.