3e3d2c74642ac0ea207d54ca6fc09d959ec8fa31
Previously the engine was blind to dislikes/dismissals: - _build_user_tag_profile only used liked/watched (positive only) - dismiss_penalty was capped at 80% so hated content still surfaced - _search_and_store had zero affinity filtering, any YouTube result entered the queue - user_tag_affinity negative scores (written by dismiss/dislike) were never read Now: - _build_user_tag_profile reads directly from user_tag_affinity (positive + negative) - _tag_relevance_score returns negative values, so disliked-tag channels score below zero and get dropped - _search_and_store skips channels whose indexed videos match 3+ negatively-rated tags - list_discovery post-filters channels already in the queue using the same neg-affinity check - Removed the old _dismissed_channel_tags + dismiss_penalty (superseded) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
JavaScript
53.6%
Python
45.9%
HTML
0.2%
Dockerfile
0.2%