How can I archive completed projects, but not archive completed tasks under uncompleted projects?
You’d need to create a custom script for this.
With that said I would expect archiving completed projects to be infrequent enough that it might make more sense to just do it manually.