Skip to content

Stop VF hydrator from ignoring original-tweet verdicts on retweets - #119

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:fix/vf-retweet-primary-original
Open

Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:fix/vf-retweet-primary-original

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

Phoenix VFCandidateHydrator and Following VFFollowingCandidateHydrator fetch the retweet original, then stamp visibility_reason from the wrapper id.

The original is already in the VF map: For You pushes retweeted_tweet_id into the TimelineHome batch; Following pushes it into the same Home batch. Lookup is all_results.get(&candidate.tweet_id).

TimelineHome NSFW-high-precision is Interstitial, not Drop. VFFilter only hard-drops Action::Drop. should_drop_ancillary also ignores Interstitial. The original verdict never reaches the card.

OON retweets are already dropped by OONRetweetReplyFilter. This path is a followed-user retweet of an interstitial original.

  • Entry: VFCandidateHydrator / VFFollowingCandidateHydrator (both already fetch the original)
  • Sink: visibility_reason forwarded on the scored post (scored_posts_server.rs); VFFilter keeps Interstitial
  • Break: primary lookup keyed by wrapper tweet_id instead of retweeted_tweet_id.unwrap_or(tweet_id)
  • Viewer effect: in-network retweet of NSFW / gore original serves with no sensitive-media interstitial
  • Twin: AdsBrandSafetyVfHydrator primary_id is already retweeted_tweet_id.unwrap_or(tweet_id)

This is not PR 55 / 90 (Home vs Recs merge). This is not PR 115 (Following quotes at Recs). This is not PR 116 (OON RT originals at Recs; those wrappers are dropped before VF). This is not PR 118 (QuoteHydrator TES key).

Fix

Look up the primary VF verdict with primary_vf_id = original tweet id. Native posts unchanged. Ancillary Drop on the original is unchanged.

Tests

  • Native post still uses its own id
  • Retweet of an Interstitial original stamps Interstitial (fails on unmodified main)
  • Wrapper-only Interstitial is not used as the primary
  • Original Drop still ancillary-drops

cargo: cannot run. Public dump has no Home Mixer manifest.

This was referenced Sep 7, 2026
@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.

@Pitchfork-and-Torch

Copy link
Copy Markdown
Author

Reopened. This was a serving-path hunt PR parked by mistake during the 2026-09-08 intern-stack cleanup. Not a reject of the class. Leaving it for xAI review.

@Pitchfork-and-Torch
Pitchfork-and-Torch force-pushed the fix/vf-retweet-primary-original branch from c959fe8 to 641048d Compare September 18, 2026 00:36
@Pitchfork-and-Torch

Copy link
Copy Markdown
Author

Rebased onto current xai-org main. Kept primary_vf_id lookup and wired it through upstream visibility_fields so retweet wrappers still inherit the original tweet verdict.

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