Skip to content

Stop seen/served filters from dropping replies to seen parents - #61

Closed
Pitchfork-and-Torch wants to merge 19 commits into
mainfrom
cursor/magellan-freespeech-seen-reply-e29b
Closed

Pitchfork-and-Torch wants to merge 19 commits into
mainfrom
cursor/magellan-freespeech-seen-reply-e29b

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown
Owner

Bug

related_post_ids_iter chained in_reply_to_tweet_id next to the candidate id and the retweet original. PreviouslySeen, PreviouslySeenBackup, and PreviouslyServed hard-drop a candidate when any related id is in seen / impressed / served.

A reply is new speech. Seeing or serving the parent is not seeing the reply. Followee replies to a post the viewer already scrolled past never reach For You.

This is not xai-org#151 (quote same-card). xai-org#151 adds quoted_tweet_id. This removes the parent id. A retweet of a seen original still drops.

Five-line proof

  • Entry: TES / Thunder in_reply_to_tweet_id on an in-network reply
  • Sink: PreviouslySeen / PreviouslySeenBackup / PreviouslyServed (related_post_ids_iter)
  • Break: parent id was treated as the reply card
  • Viewer effect: a followee reply to a seen/served/impressed post disappears from For You
  • Twin: same reply kept when the parent is absent from those sets; RT of a seen original still drops

Fix

Same-card ids are the post and its retweet original only.

Tests

  • related_ids_are_the_card_and_retweet_original_only
  • keeps_reply_when_only_the_parent_was_seen
  • drops_reply_when_the_reply_itself_was_seen
  • keeps_reply_when_only_parent_was_impressed
  • keeps_reply_when_only_the_parent_was_served

cargo test cannot run. Public dump has no Home Mixer 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
related_post_ids_iter treated in_reply_to_tweet_id as the same card as
the reply. PreviouslySeen, PreviouslySeenBackup, and PreviouslyServed
then hard-dropped followee replies whenever the parent was already in
seen, impressed, or served ids.

A reply is new speech. Keep same-card matching to the post itself and
its retweet original only.

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