The nagging feeling
Some bugs are not simple bugs in the sense that the code isn't doing what it should. It's more that nagging feeling that the thing isn't working just as it should. When a user modifies a routine, I needed to decide what should happen to the corresponding todos for the week generated from the weekly routine. It felt natural to modify the ones in the future while keeping the past routines as they were. This worked as intended but it didn't quite feel right. I then realized that it's of course the state of the todo that should be checked. If it's completed or skipped, it shouldn't be modified no matter if it's in the past or the future. The user is already done with it so it should be left in the state it is. Seems obvious once it's defined.