I already set up a jj (jujutsu) repo in my projects colocated with git (it uses git for its backend). Once you additionally set up a certain background daemon, it will then autocommit (label-lessly) every change to every file in that project. So you get "infinite undo", basically. It's actually more powerful than this checkpointing idea.