Skip to content

home-mixer: use origin author for size and NSFW, fail closed on gizmoduck miss - #125

Closed
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/gizmoduck-origin-nsfw-018b
Closed

home-mixer: use origin author for size and NSFW, fail closed on gizmoduck miss#125
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/gizmoduck-origin-nsfw-018b

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

GizmoduckCandidateHydrator fetched the retweeted user and then used that row only for retweeted_screen_name. Follower count and NSFW flags (nsfw_author, nsfw_author_ads, nsfw_author_phoenix) came from the retweeter. Quoted authors were not fetched.

Size residuals therefore saw the amplifier. A 50-follower account retweeting a 1M-follower original inherited the small-account lift. The Simclusters OON NSFW drop and the Phoenix author-NSFW safety bit (quotes) saw the poster only.

A missing map slot or read error became empty fields. Pipeline update_all drops Err, so unknown authors scored clean.

Not IPS math (#31). Not the VF hydrator quote/RT verdicts (#115#119).

Fix

One file, home-mixer/candidate_hydrators/gizmoduck_hydrator.rs.

  • Fetch poster, retweeted_user_id, and quoted_user_id.
  • Follower count is the origin author on a retweet. Quotes still size on the quoter.
  • NSFW flags are the OR of poster, original author, and quoted author.
  • A missing map slot or read error is written as labeled on Ok so update_all applies it. Confirmed absence stays unlabeled.

in_network is unchanged. That flag is whether the poster is followed. Flipping it to the original author would let unfollowed retweets skip OONRetweetReplyFilter.

Tests

  • Retweet size is the original author; quote size stays on the quoter.
  • NSFW original or quoted author labels the candidate, including nsfw_author_phoenix.
  • Store miss / read error fails closed.
  • Confirmed absence is not treated as a miss.

home-mixer has no public Cargo manifest. The merge function was compiled and run as a rustc model: 5/5 passed.

Fork dump counterpart: Pitchfork-and-Torch#16

cursor Bot pushed a commit to Pitchfork-and-Torch/x-algorithm that referenced this pull request Sep 7, 2026
Rebased onto latest xai-org/x-algorithm main. Missed ads-VF hydration
defaulted organics to MediumRisk, and ads-only nsfw_author_ads rewrote
the shared verdict. Default For You blender then pulled those posts out
of ranked order when placing ads.

Keep a real MediumRisk tweet-label verdict off ad neighbors. Following
still will not sit an ad next to Unspecified.

Compatibility with sibling PRs that touch the same files:
- expired ads brand-safety labels are ignored (xai-org#124)
- gizmoduck uses origin author size/NSFW OR and fails closed on miss (xai-org#125)

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 September 7, 2026 04:20
This was referenced Sep 7, 2026
Pitchfork-and-Torch added a commit to Pitchfork-and-Torch/x-algorithm that referenced this pull request Sep 8, 2026
Rebased onto latest xai-org/x-algorithm main. Missed ads-VF hydration
defaulted organics to MediumRisk, and ads-only nsfw_author_ads rewrote
the shared verdict. Default For You blender then pulled those posts out
of ranked order when placing ads.

Keep a real MediumRisk tweet-label verdict off ad neighbors. Following
still will not sit an ad next to Unspecified.

Compatibility with sibling PRs that touch the same files:
- expired ads brand-safety labels are ignored (xai-org#124)
- gizmoduck uses origin author size/NSFW OR and fails closed on miss (xai-org#125)
@Pitchfork-and-Torch
Pitchfork-and-Torch force-pushed the cursor/gizmoduck-origin-nsfw-018b branch from 1bb59b9 to 902a06f Compare September 8, 2026 23:13
…duck miss

Gizmoduck already fetched the retweeted user and then ignored counts and
labels. Size residuals and NSFW flags therefore saw the retweeter. A
store miss was written as empty fields; update_all drops Err, so that
miss scored as clean.

Follower count now comes from retweeted_user_id when present. NSFW is
the OR of poster, original author, and quoted author, including
nsfw_author_phoenix. A missing map slot or read error is labeled, not
treated as clean. Confirmed absence stays unlabeled. Quotes still size
on the quoter.
@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