Skip to content

home-mixer: stop ads brand-safety from demoting organic rank - #127

Closed
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/ads-organic-verdict-leak-e878
Closed

home-mixer: stop ads brand-safety from demoting organic rank#127
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/ads-organic-verdict-leak-e878

Conversation

@Pitchfork-and-Torch

@Pitchfork-and-Torch Pitchfork-and-Torch commented Sep 7, 2026

Copy link
Copy Markdown

Bug

Ads brand-safety was leaking into organic For You rank.

Two writers put MediumRisk on organics that were not MediumRisk from tweet labels:

  1. Missed ads-VF hydration left brand_safety_verdict unset. Scored-post converters then defaulted that to MediumRisk.
  2. nsfw_author_ads is ads inventory. AdsBrandSafetyVfHydrator wrote that onto the shared verdict the blender uses for organics.

Default For You blender (partition_organic) treats MediumRisk as avoid and pulls those posts out of ranked order when ads are placed.

Fix

  • Missing verdict serializes as Unspecified. Unspecified is not avoid in has_avoid, so rank is kept.
  • Ads-only nsfw_author_ads no longer rewrites the organic verdict.
  • Real MediumRisk from tweet labels still stays off ad neighbors.

Rebase

Rebased cursor/ads-organic-verdict-leak-e878 onto latest xai-org/x-algorithm main (902a06f). The previous head sat on the older fork tree, so GitHub reported CONFLICTING / dirty.

Conflict resolution keeps all three intents:

  1. Expired safety labels are ignored in ads brand safety (is_active_label / compute_verdict_at) — same class as home-mixer: ignore expired safety labels in ads brand safety #124.
  2. Missing ads verdict is Unspecified, not MediumRisk; nsfw_author_ads does not rewrite the organic verdict — home-mixer: stop ads brand-safety from demoting organic rank #127.
  3. Gizmoduck uses origin-author size, NSFW OR across poster/original/quoted, and fail-closed on store miss — home-mixer: use origin author for size and NSFW, fail closed on gizmoduck miss #125, because that file conflicted.

Not a TimelineHome VF change.

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

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