Skip to content

Stop For You VF from skipping Phoenix reply parents - #180

Closed
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/magellan-reply-parent-vf-cad1
Closed

Stop For You VF from skipping Phoenix reply parents#180
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/magellan-reply-parent-vf-cad1

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

Phoenix retrieval, MOE, Topics, and TweetMixer set in_reply_to_tweet_id and leave ancestors empty. Thunder and Latest Following copy the parent into ancestors.

VFCandidateHydrator only fetches candidate.ancestors as ancillary ids. should_drop_ancillary only walks that list. A mute or block on the parent tweet never reaches AncillaryVFFilter, so the reply still ranks on For You.

This is not conversation-gap expansion (#97). Not mixer ancestor_users mute/block (#101 / #111). Not quote/RT handle mute-keyword (#140 / #164). Not civic followee quotes (#178). Not seen/served reply parents (#179).

Fix

When ancestors is empty, treat in_reply_to_tweet_id as the reply parent for VF fetch and ancillary drop. Thunder's existing ancestor list is unchanged.

Proof

  • Entry: PhoenixSource / PhoenixMOESource / PhoenixTopicsSource / TweetMixerSource write in_reply_to_tweet_id and leave ancestors empty
  • Sink: VFCandidateHydrator oon_ids + should_drop_ancillary + AncillaryVFFilter
  • Break: ancillary VF walked ancestors only; OON Phoenix replies never populated that list
  • Viewer effect: reply to a muted or blocked parent still serves on For You
  • Twin: ThunderSource and Following Night Owl already push in_reply_to into ancestors

Tests

  • reply_ancestor_ids_uses_in_reply_to_when_ancestors_empty
  • reply_ancestor_ids_keeps_thunder_ancestors
  • phoenix_reply_drops_when_parent_author_is_muted
  • phoenix_reply_drops_when_parent_author_blocked_viewer
  • phoenix_reply_keeps_when_parent_is_allowed
  • thunder_ancestors_still_drop_and_do_not_use_a_stale_in_reply_to
  • unit tests added; cargo test cannot run in the public dump (no home-mixer Cargo.toml)

Phoenix retrieval, MOE, Topics, and TweetMixer set in_reply_to_tweet_id
but leave ancestors empty. Ancillary VF only fetched candidate.ancestors,
so a mute or block on the parent never dropped the reply. Thunder already
copies the parent into ancestors.
@Pitchfork-and-Torch
Pitchfork-and-Torch force-pushed the cursor/magellan-reply-parent-vf-cad1 branch from f378676 to 902a06f Compare September 8, 2026 23:07
@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