Unison is exploring the idea of storing source code by the hash of its AST, which allows some interesting refactoring and testing designs: https://www.theregister.co.uk/AMP/2019/09/26/unison_programming_language/
miniblog.
Related Posts
Test code is total: we require it to always terminate or it's a failure! It also typically has 100% line and branch coverage.
I feel way less nervous about refactoring tests, you can always just run them.
It feels like rename is by far the most important refactoring operation. If I had an IDE with only one refactoring, I think I'd want rename.
... and my third refactoring with Cursor changed some function calls that I didn't want it to modify. Subtle.
I've had the most success with AI coding tools when I know exactly what I want the output to look like.