As per the FAQ on protection, questions are automatically protected as a result of deleted answers if the number of deleted answers from new users, plus the number of deleted answers with helpful spam flags, is three or higher. The check runs whenever any answer from anyone is deleted, and deleted answers that are both posted by new users and have helpful spam flags are counted twice (so that's why you see questions getting protected after just two spam answers).
This question just now received three deleted answers, all of which were manually deleted by a moderator:
- one with helpful spam flags (I know this because I flagged it as spam and it was marked helpful upon its deletion)
- one posted by the same author as the last one, but with no helpful spam flags
- one posted by a different author and with possible helpful spam flags (the spam mask shows up, but it's possible that it was triggered due to rude/abusive flags, which don't count toward auto-protection)
In all, there are three deleted answers, but as one was posted by the same user as another, it doesn't count, so those two deleted answers plus the one with helpful spam flags equals three. Yet the question wasn't protected.
Neither of the users ever crossed the 10 reputation threshold, so it's not as if they had enough rep at the time the question was checked. (So it's not the flaw that the check checks then-current rep rather than rep at the time the answer was posted that is causing it to not work in this case.)
Why wasn't the question protected? Is it because the helpful spam flag on the first answer was marked helpful automatically as a result of the answer being deleted (not by the system as spam)? If the script that marks those flags helpful runs after the protection check runs upon answer deletion, this explanation makes sense. Is that the case?
Update: Tinkeringbell believes that automatic protection wasn't applied since the first answer to be posted was the non-spam one, so the second answer that had helpful spam flags was never counted, neither once or twice. However, I don't believe that that explanation is correct, since as far as I can tell based on the protection FAQ, when it runs the auto-protection check upon any answer being deleted, it does not consider when specific answers were posted; it just checks to see if it meets the criteria at the time any answer from anyone is deleted (hence a prior case where an answer from a high-rep user resulted in auto-protection).
My hypothesis (that the protection check runs before the script that marks spam flags on posts deleted for other reasons as helpful) makes better sense given this piece of knowledge, but I could be wrong. I'd like to know which specific one was the case.