Thanks so much for engaging :) I understand your point, here's sort of the philosophy behind the decisions we took regarding it:
The purpose of the app was to be as _hands off_ as possible. And because an LLM is involved in the mix, it might misclassify some emails and delete them.
For this reason, we label each email that we delete and it is possible to navigate to the email from the Run Status screen also, thereby allowing us to recover that email (if it was wrongly deleted). There is also a filter on the run status page to show all those emails marked for deletion.
In all our test runs, we found misclassification to be a minimum and hence we felt confident to go with this approach.
The "Schedule new cleanup" does indeed schedule a background task that does the actual inference + deletion.