The two sibling is_bot computations (SessionSource construction and the thread-history fetch) re-derived bot-ness from bot_id/subtype only, so an api_human_users post would be human at the drop gate but still flagged is_bot downstream. Use the single predicate everywhere.