On personal projects, I aim for everything but tooling and throwaway scripts. Whenever I ease up I inevitably end up regretting it: left to their own devices the models just ratchet code complexity up and up over time forever. First it becomes too complex to be worth reading and you have to start asking the models to explain, then it becomes too complex for the models to understand correctly and you have to spend most of your effort saving them from themselves, and then eventually even that doesn't work because there's just no consistent picture of the codebase to be had, the meaning of the program is just the stuff it does. In the end you have to spend hours holding their hands through slash and burn refactoring, because they are incredibly resistant to making nonlocal changes unless directly told.
Just today Opus informed me that the refactor I asked for was done and it had followed my very explicit instructions to migrate every single caller and remove everything we no longer needed, and that "there were mostly no leftovers". It was, however "more additive than needed. The additive part is that I layered new mechanisms next to the ones they made redundant". And this is the "good" one, Astra just flat out lies to me. I have stopped using it for anything other than pure quantitative hillclimbing.
At work, much less. Maybe half. It's less necessary because an enormous amount of effort has already gone into specs and test suites, and it's less useful because the codebase is already way past the point of no return.