Skip to content

Stop InNetwork from copying a join_all OON stamp after TES fills author_id - #154

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/in-network-join-all-stamp-104d
Open

Stop InNetwork from copying a join_all OON stamp after TES fills author_id#154
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/in-network-join-all-stamp-104d

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

run_hydrators join_alls every hydrator against the source snapshot, then applies writes in vec order. InNetwork.hydrate reads TweetMixer author_id = 0 and stamps in_network = Some(false). CoreData.update then fills the TES author. Copying the snapshot stamp keeps OON.

#128 only reorders the vec. That does not change what hydrate sees. VF then fetches at TimelineHomeRecommendations. Recs-only Drop fires (DO_NOT_AMPLIFY, NSFW_HIGH_RECALL, SPAM_HIGH_RECALL, MALICIOUS_URL). The same followee on Home is Allow.

  • Entry: InNetworkCandidateHydrator (hydrate snapshot + update copy) via candidate_pipeline.rs join_all
  • Sink: VFCandidateHydrator (in_network.unwrap_or(false) → Recs) then VFFilter
  • Break: parallel hydrate stamps OON before CoreData write-back; Stop For You from stamping OON before TES fills author_id #128 reorder cannot fix a snapshot
  • Viewer effect: a followee's DNA / NSFW-HR / spam-HR post retrieved via TweetMixer is hard-dropped on For You
  • Twin: apply_hydration restamps from the live author_id after CoreData.update. Genuine unfollowed authors stay OON.

Fix

Override apply_hydration to stamp from candidate.author_id after CoreData.update. Keep CoreData before InNetwork so the write-back sees the TES author.

Tests

  • hydrate still stamps snapshot author (followed / unfollowed / self)
  • hydrate+update after TES fill keeps stale OON (documents the join_all bug)
  • apply_hydration after TES fill → Home for a followee, OON for unfollowed, self → Home
  • TES miss (author 0) stays OON

Standalone join_all model: 6/6 passed.

cargo test cannot run. Public dump has no Home Mixer / candidate-pipeline manifest.

Survey claimed

#128 (vec order). #135 (cache enable). #131 (TES overwrite). #132 (NightOwl already_hydrated). #129 / #141 (exclusive). Not those.

Fork PR: none

…or_id.

run_hydrators hydrates every hydrator from one snapshot, then applies writes
in vec order. Reordering CoreData before InNetwork does not change what
hydrate sees. Stamp in_network from the live author_id on write-back.

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.

2 participants