存在しないユーザーにバッジを付与しないでください?

ユーザーIDは incoming_links テーブルに格納されていると思います。それらのレコードは従属的に破棄されず、共有バッジのクエリは incoming_links テーブルでの user_id が null になることのみを防いでいます:

https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L199

First Share バッジにも同様のバグがあるはずです:

https://github.com/discourse/discourse/blob/main/lib/badge_queries.rb#L64

「いいね!」 3