Skip to content

Stop VF from serving posts with global TES takedowns - #76

Closed
Pitchfork-and-Torch wants to merge 1 commit into
mainfrom
cursor/vf-global-takedown-drop-6e17
Closed

Stop VF from serving posts with global TES takedowns#76
Pitchfork-and-Torch wants to merge 1 commit into
mainfrom
cursor/vf-global-takedown-drop-6e17

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown
Owner

Bug

TES hydrates TakedownFeature.applied from get_has_takedown and stores TakedownReason::Dmca, HatefulImagery, and Unknown. No VF rule reads those signals.

DropLegalTakendownPostRule / DropLocalLawsTakendownPostRule only extract country codes from LegalRequest, UnspecifiedReason, and BystanderReport. The existing test takedown_rules_ignore_non_country_reasons asserts DMCA / hateful imagery / unknown Allow on those two rules. TakedownFeature.applied is written and never read.

This is not xai-org#187 (media-level has_dmca_media / geo lists, recommendation-only wiring). This is not xai-org#134 (TES RPC fail-closed). This is not xai-org#148 (withheld country list). This is not xai-org#113 (account vs request country).

Proof

  • Entry: TesHydrator::build_tweet_features writes takedown.applied and takedown.reasons.
  • Sink: Policies::evaluate / base_home_rules() — no rule reads applied or the global reason variants.
  • Break: country rules ignore Dmca / HatefulImagery / Unknown; applied has no consumer.
  • Viewer effect: a post-level DMCA or hateful-imagery takedown, or TES has_takedown=true with no country reason, is Allowed on TimelineHome and TimelineHomeRecommendations (Following and For You).
  • Twin: country-scoped LegalRequest / BystanderReport already drop in the matching viewer country. Media-level DMCA is a different row (DropTweetsWithDmcaMediaRule). Stop TimelineHome from serving DMCA and geo-restricted media xai-org/x-algorithm#187's own twin claimed post-level TakedownReason::Dmca already drops on TimelineHome — it does not.

Fix

Add DropGlobalTakendownPostRule to base_home_rules after the country takedown rules.

Drop when reasons include Dmca, HatefulImagery, or Unknown, or when applied is true and no country-scoped reason is present (leave those to the geo rules). Does not consume media-level has_dmca_media.

Tests

  • global_takedown_drops_dmca (fails on unmodified main)
  • global_takedown_drops_hateful_imagery
  • global_takedown_drops_unknown
  • global_takedown_drops_applied_with_no_country_reason
  • global_takedown_allows_country_only_legal_request
  • global_takedown_drops_even_for_author
  • global_takedown_does_not_consume_media_dmca (fails if this twins Stop TimelineHome from serving DMCA and geo-restricted media xai-org/x-algorithm#187)
  • post_level_dmca_drops_on_timeline_home
  • tes_has_takedown_applied_drops_on_timeline_home
  • takedown_rules_ignore_non_country_reasons still Allows the two geo rules; now Drops on the new rule
  • cargo: cannot run (public dump has no visibility-filtering Cargo.toml)
  • Standalone decision-table harness (same match arms): 10/10 passed

Survey: xai-org#96-xai-org#193. Unclaimed. Not steward ads/Explore/soft-demotion/NaN. Not xai-org#187 media DMCA wiring.

Open in Web Open in Cursor 

DropGlobalTakendownPostRule consumes post-level DMCA, hateful imagery,
unknown reasons, and TES has_takedown when no country reason is attached.
Country-scoped legal/local-law rows stay on the existing geo rules.

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