Skip to content

Stop For You topic snooze from dropping untagged posts - #170

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/topic-snooze-untagged-b364
Open

Stop For You topic snooze from dropping untagged posts#170
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/topic-snooze-untagged-b364

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

For You with snoozed topics (excluded_topic_ids, surface for_you_with_snoozed_topics) runs TopicIdsFilter after FilteredTopicsHydrator. The excluded branch keeps a post only when filtered_topic_ids is a non-empty list with no snoozed id. None (Strato miss) and Some([]) (known untagged) both take _ => false and are removed.

Snoozing Sports (or any one topic) therefore deletes every lawful post that is not already tagged with some other surviving topic. Personal tweets, replies, and anything Strato did not label disappear. This is a successful filter result on the wrong set, not ranking weight.

This is not Explore topic hydration miss (bulk topic_ids fail-closed on None). That path is inclusion/exclusion of withheld Explore inventory. This path is For You snooze treating unlabeled speech as a positive exclude match.

Proof

  • Entry: ScoredPostsQuery.excluded_topic_ids on For You snooze
  • Sink: TopicIdsFilter excluded partition (Phoenix pre-score)
  • Break: None and Some([]) take _ => false
  • Viewer effect: one snoozed topic drops all untagged For You posts
  • Twin: bulk Explore unlabeled filler keeps None / empty (_ => true)

Fix

Keep missing and empty topic lists on the excluded branch. A snoozed topic still drops a post that actually carries that id (or an expanded child). Untagged posts stay.

Tests

  • Overwrite: snooze Sports keeps the AI post, the hydration miss, and the known-empty list; only the Sports-tagged post is removed.
  • Overwrite: multiple excluded topics still drop matching tagged posts and now keep the untagged sibling.
  • Keep: any-match (Sports+Politics), Entertainment group expansion, mixed inclusion+exclusion, News+disasters expansion.
  • New: hydration miss and known-untagged stay on For You snooze; Sports-tagged still drops.

@Pitchfork-and-Torch
Pitchfork-and-Torch force-pushed the cursor/topic-snooze-untagged-b364 branch from 7325ae2 to 902a06f Compare September 7, 2026 16:25
TopicIdsFilter treated missing and empty topic hydration as an
excluded-topic match, so snoozing any topic removed unlabeled
lawful posts from For You. Keep the unlabeled safe harbor used
by bulk Explore inclusion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant