Skip to content

Fail closed when QuoteHydrator TES or socialgraph lookup fails - #117

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:fix/quote-hydrator-fail-closed
Open

Fail closed when QuoteHydrator TES or socialgraph lookup fails#117
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:fix/quote-hydrator-fail-closed

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

For You QuoteHydrator treats TES and socialgraph failure as "not a quote".

TES miss or Err was cached as quoted_tweet_id = None. Later VF, mute, and blocked-by never see the inner tweet. Following Night Owl already carries quoted_tweet_id on the search hit, so reverse-chron still VF-evaluates the quote.

Socialgraph check_blocked_by used unwrap_or_default(). Empty set => quoted_author_blocks_viewer = false. Following FollowingBlockedByHydrator returns Err for the batch on the same RPC failure.

  • Entry: Phoenix QuoteHydrator (phoenix_candidate_pipeline.rs)
  • Sink: should_drop_ancillary (needs Some quoted id), AuthorSocialgraphFilter quoted blocked-by
  • Break: TES miss cached as no-quote; graph fail becomes not-blocked
  • Viewer effect: quote of a VF-Drop / blocked author serves as a normal For You card; miss stays cached after TES recovers
  • Twin: Following Night Owl keeps quote ids; FollowingBlockedByHydrator fail-closes graph errors

This is not PR 7 (mixer author graph filter). This is not PR 94 (core TES wiping retweet/reply ids). This is not PR 23 (mute quoted author when the id is present).

Fix

Do not cache TES lookup failure. Surface Err so update does not write a fake None. Fail the batch when socialgraph blocked-by errors, matching Following.

Genuine Ok(None) (not a quote) is still cached.

Tests

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

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