I just found two curious holes in the Stack Exchange definition of spam.
How to not be a spammer is only concerned with answers, not with questions. Neither What types of questions should I avoid asking? nor How do I ask a good question? nor What topics can I ask about here? seem to forbid posting spam questions. (The on-topic page says you shouldn't ask for product recommendation, but it doesn't forbid posting a product recommendation as a question.)
And the spam flag help text gives "does not disclose the author's affiliation" as a criterium.
Now, I just encountered this question:
https://softwareengineering.stackexchange.com/q/412472/1352
To me, this clearly looks like spam, but a) it is not an answer, and b) the author discloses the affiliation in the username, so … it is not spam?
I am confused. Is this spam or isn't it?
The question is clearly off-topic as per the rules, it is in fact not even a question at all. But I can't find anything that would make this question specifically spam, as per the Stack Exchange rules, even though my common sense says it clearly is.
Is there anything I am overlooking? Or is it merely assumed that the definition of spam is "I know it when I see it"?
To be clear, immediately after spotting the question, I downvoted, voted-to-close, and flagged as spam. It was the wording of the help text for the spam flag that caught my eye, because even while it clearly was spam, which is why I flagged it, I found it curious that there is nothing in the help text of the flag nor the explanation on the meta site that would actually make it spam.