Skip to content

Stop Phoenix authorIsNsfwSeq from skipping retweets - #191

Closed
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/magellan-overnight-b-nsfw-9cba
Closed

Stop Phoenix authorIsNsfwSeq from skipping retweets#191
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/magellan-overnight-b-nsfw-9cba

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Phoenix hashes get_original_author_id() but as_tweet_info zeroed safety_label_mask on every retweet. Gizmoduck already fetched the origin user and then wrote the retweeter's NSFW bit into nsfw_author_phoenix. Training reads safetyLabelMaskSeq bit 2; serving therefore scored every RT of an NSFW original as a clean-author post.

Proof

  • Entry: GizmoduckCandidateHydrator (origin user already fetched) then PostCandidate::as_tweet_info
  • Sink: PhoenixScorer -> InputBuffer authorIsNsfwSeq from TweetInfo.safety_label_mask bit 2
  • Break: retweeted_user_id.is_none() guard forced mask 0; phoenix bit keyed the retweeter
  • Viewer: in-network RTs of NSFW originals rank as if the origin author were clean
  • Twin: tweet_id and author_id already use the origin; originals already stamp nsfw_author_phoenix; history UAS stamps the engaged tweet mask

This is not #125 (size residual, quoted OR, gizmoduck fail-closed). Not #185 (OON NSFW pre-score filter). Not #172/#188 (diversity/MoE retweeter key). Not #173 (safemodel tweet labels). Not #189 (DedupConversationFilter). Filter and ads poster bits are unchanged.

Fix

  • nsfw_author_phoenix on a retweet is the origin author's bit
  • as_tweet_info stamps that bit on retweets too

Tests cover origin-NSFW RT stamp, retweeter-NSFW clean-origin no stamp, and original-post unchanged.

cargo test cannot run home-mixer. Public dump has no Home Mixer manifest. Standalone rustc model of old vs new stamp: 5/5 passed.

Fork PR: none

as_tweet_info zeroed safety_label_mask on every retweet, so Phoenix
hashed the origin author with authorIsNsfwSeq=0. Gizmoduck already
fetched the origin user but wrote the retweeter's NSFW bit.

Stamp nsfw_author_phoenix from the origin on retweets and drop the
retweet skip in as_tweet_info. Filter/ads poster bits are unchanged.
@Pitchfork-and-Torch
Pitchfork-and-Torch force-pushed the cursor/magellan-overnight-b-nsfw-9cba branch from 88e7e0a to 902a06f Compare September 8, 2026 23:06
@Pitchfork-and-Torch

Copy link
Copy Markdown
Author

Parking this intern-stack PR per operator GitHub cleanup (2026-09-08). Hunt notes remain local. Not a reject of the class.

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