Horses for courses, but I do it a different way. For weekly tasks that need to be done on a particular day I tag them
@start(Saturday) @flag (where you replace “Saturday” with whichever day)
Then I use a saved search for my “Today” view as follows:
@today or @due <=[d] tomorrow or (@flag and @start <=[d] today)
The last part of this search (the bit in parentheses) matches my weekly recurring tasks when their day rolls round. Because Taskpaper treats @start(Saturday) as meaning next Saturday, once you get to Sunday the task disappears until next week.
I’m mostly not interested in having a “done” copy of this in my Archive, so either I don’t bother to mark as @done (I’m usually capable of remembering if I’ve taken out the rubbish today) or mark as @done for the satisfaction of crossing off the list, and then unmark the next morning when I review my done tasks from previous day.