I will leave a todo or comment of the next steps in the commit message, and each day i start out with a 'well what did i even do? git log -n 1'.
"Leave a broken test" doesn't work for me, because the test can be breaking for other reasons, and it often takes a lot of time to set up a test, in which you wake up with a better / cleaner solution. (so the test you wrote is testing the wrong implementation.)
I've been trying out "logseq"[1] for daily journaling, which allows you to see what you did yesterday VERY easily, and this has been pretty good for me. (but i don't normally use these note taking apps and it possibly won't last long, we'll see.)
Isn't that a smell?
There was a recent topic on testing. In my view, I should be testing the API of units of coherent logic. If I change the underlying implementation of that logic, why should my tests change?