Skip to content

Stop VF hydrator from overwriting in-network verdicts with OON - #55

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/vf-oon-overwrite-4cfe
Open

Stop VF hydrator from overwriting in-network verdicts with OON#55
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/vf-oon-overwrite-4cfe

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

VFCandidateHydrator fetches in-network primaries as TimelineHome and ancestors/quotes as TimelineHomeRecommendations, then merges with all_results.extend(oon_result) so the later key wins.

Thunder sets ancestors = [in_reply_to, conversation_root] on in-network replies. When a parent and reply land in the same batch, the parent tweet_id is in both maps. The selected in-network tweet then gets the Recommendations verdict.

TimelineHome is base_home_rules() only. Recommendations adds OON-only Drop rules (NSFW_HIGH_PRECISION_DROP, DO_NOT_AMPLIFY_DROP, MALICIOUS_URL_DROP, SPAM_HIGH_RECALL_DROP, NSFW author drops that are Interstitial in-network / Drop OON). VFFilter hard-drops Action::Drop.

This is a successful VF result applied at the wrong safety level. Not fail-open on miss, and not missing labels.

Fix

Keep both maps. Look up candidate.tweet_id only from the map that matches candidate.in_network. Ancestor/quote ancillary checks still use Recommendations. retweeted_tweet_id stays on TimelineHome.

Tests

  • In-network parent that is also a sibling reply ancestor keeps the TimelineHome interstitial and is not overwritten by a Recommendations Drop.
  • True OON primary still uses Recommendations.

Primary tweet_id lookup now uses the TimelineHome or Recommendations
map that matches candidate.in_network. Ancestor and quote ancillary
checks still read Recommendations; retweeted ids stay on TimelineHome.

Co-authored-by: Jon Bailey <Pitchfork-and-Torch@users.noreply.github.com>
@Pitchfork-and-Torch
Pitchfork-and-Torch marked this pull request as ready for review August 14, 2026 22:22
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.

2 participants