My approach is simple. For TODO items, I archive to separate file when done. That file is easily searchable, e.g. using C-c /.
I keep both the original file and the archive file under revision control, just in case. > The issue (I think) is, when you mark the TODO as DONE, you lose the > info of what the TODO was originally. What info is lost? In fact, if you log state changes, all the information is there. By the way, if you have recurring items, one package that you might find useful is org-recur which is on ELPA. -- : Eric S Fraga via Emacs 28.0.50, Org release_9.4.4-231-gf46925