Migrated questions that were closed a long time after the migration (and as such weren't marked "rejected") are not automatically deleted by the
RemoveAbandonedClosed scripts even if they satisfy all the criteria. As @animuson explains here:
It turns out that questions which were migrated to the site are not eligible for any automatic deletions outside the 30-day deletion for being rejected.
The check ignored migrated questions because prior to June 4, 2019 it was only possible for a migrated question to also be closed if the migration was rejected, which would lock the question, and locked questions are excluded from
RemoveAbandonedClosed. Since that assumption is no longer true, we may want to reconsider that check, especially given a rejected migration would otherwise be deleted despite the lock.
@animuson also added in a comment that "The RemoveAbandonedQuestions check does not exclude migrated questions."
Essentially, the code makes the assumption that any migrated question that is later closed will also be locked as a rejected migration, but this is not always the case, and is now more often not the case due to recent system changes. Specifically, this covers the following categories of questions:
- Questions migrated and later closed prior to the feature of migration rejection being implemented in 2010-11
- Questions migrated and later downvoted with no answers and thus otherwise eligible for
RemoveDeadQuestions, that are open or closed as duplicates
- Migrated questions closed for a non-duplicate reason after June 4, 2019 and after the migration stub on the original site had been deleted (new feature)
- Questions migrated from a main site to its per-site meta and later closed after September 2, 2020 (new feature)
Can the Roomba scripts be updated so that migrated questions are eligible for automatic deletion by both of these scripts? I don't think there is a good reason to exclude migrated questions from being deleted by some of the scripts. Again, this is essentially a code optimization that is based on an assumption that was never quite true and is even more untrue following recent changes, and as such no longer makes sense.
Here is an example of a closed, migrated question that would be automatically deleted by the
RemoveAbandonedClosed script, but is currently surviving due to this exclusion.
Edit: It just occurred to me, if the Roomba scripts are not going to be updated, then it would be good to at least revise the Roomba help page on every site along the lines in this post — or equivalently, the FAQ post on deletion.