Skip to content

Stop OON NSFW filter from skipping Phoenix retrieval - #67

Closed
Pitchfork-and-Torch wants to merge 19 commits into
mainfrom
cursor/magellan-wave2-rank-oon-nsfw-a814
Closed

Stop OON NSFW filter from skipping Phoenix retrieval#67
Pitchfork-and-Torch wants to merge 19 commits into
mainfrom
cursor/magellan-wave2-rank-oon-nsfw-a814

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown
Owner

Bug

OONNsfwSimclustersFilter is the pre-scoring NSFW-author drop on For You OON retrieval. It only matched ForYouSimclusters and only enabled when EnableSimclustersSource was on.

Phoenix retrieval (ForYouPhoenixRetrieval, including topics), Phoenix MoE, and TweetMixer use the same gizmoduck nsfw_author bit and the same in_network stamp. NSFW-author posts from those sources still reached PhoenixScorer / RankingScorer / TopKScoreSelector.

This is not xai-org#169 (rank-all index writes). This is not xai-org#125 (gizmoduck origin size/NSFW). This is not xai-org#173 (safemodel hard-NSFW labels). In-network Thunder NSFW is unchanged.

Five-line proof

  • Entry: OONNsfwSimclustersFilter after GizmoduckCandidateHydrator in PhoenixCandidatePipeline
  • Sink: pre-scoring filters, then scorers [PhoenixScorer, RankingScorer, VMRanker], then TopKScoreSelector
  • Break: drop required served_type == ForYouSimclusters; Phoenix / MoE / TweetMixer NSFW authors ranked
  • Viewer effect: For You could serve OON NSFW-author posts retrieved by Phoenix even when Simclusters was off
  • Twin: the same filter already dropped Simclusters OON NSFW authors

Change

  • Drop OON NSFW-author posts from ForYouPhoenixRetrieval, ForYouPhoenixRetrievalMoe, and ForYouTweetMixer as well as Simclusters
  • Enable when Phoenix, Phoenix MoE, TweetMixer, Simclusters, or a topic request is on; stay off for in_network_only

Tests

  • Simclusters / Phoenix / MoE / TweetMixer NSFW OON: dropped
  • Followee Phoenix NSFW and SFW / unknown-NSFW OON: kept
  • Enable when Phoenix is on and Simclusters is off
  • Disable on in_network_only; enable on topic request when other sources are off

Standalone rustc model of old vs new drop: 3/3 passed.

cargo test cannot run. Public dump has no home-mixer crate manifest.

Fork PR: none

Open in Web Open in Cursor 

CI agent and others added 19 commits August 14, 2026 20:55
in_network_ids is passed to the VF client without deduplication, while
oon_ids is deduped four lines below. retweeted_tweet_id is pushed for
every candidate that has one, so the same ID repeats once per retweet of
a given post — most often when that post is going viral.

Neither VfClient implementation dedupes its input: StratoVfClient builds
one call per element, and XaiVfClient chunks by XAI_VF_MAX_BATCH_SIZE, so
duplicates consume batch slots and can force an extra round trip.

Not a correctness issue — results collapse into a HashMap keyed by tweet
ID — but redundant work on the For You serving path.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Deduplicate in_network_ids before VF lookup
The pre-scoring NSFW-author drop only matched ForYouSimclusters and only
enabled when Simclusters was on. Phoenix, Phoenix MoE, TweetMixer, and
topic retrieval of NSFW-author posts still entered RankingScorer.

Drop the same OON NSFW-author posts from those retrieval sources, and
enable the filter when any of them is on.

Co-authored-by: Jon Bailey <Pitchfork-and-Torch@users.noreply.github.com>
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.

4 participants