Stop age-gating from requiring media on gore-and-violence labels - #163
Open
Pitchfork-and-Torch wants to merge 1 commit into
Open
Stop age-gating from requiring media on gore-and-violence labels#163Pitchfork-and-Torch wants to merge 1 commit into
Pitchfork-and-Torch wants to merge 1 commit into
Conversation
GoreAndViolenceInterstitialRule already fires without media. The underage, logged-out, and no-stated-age drops only treated gore as sensitive when has_media() was true, so minors could tap through an interstitial that NSFW_TEXT and NSFW_CARD_IMAGE already hard-drop. Co-authored-by: Jon Bailey <Pitchfork-and-Torch@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug
GoreAndViolenceInterstitialRulealready fires withouthas_media(). Golden corpus casegore_and_violence_label_interstitials_in_networkpins that withlabeled(GORE_AND_VIOLENCE_HIGH_PRECISION)(no media).SensitiveViewerUnderageDropRule,SensitiveViewerLoggedOutDropRule, andSensitiveViewerNoStatedAgeDropRuleonly treat gore as sensitive throughgraphic_base_condition, which requires media.NSFW_TEXTandNSFW_CARD_IMAGEalready have a no-media branch. Gore was left out.Policy order runs the age drops before the interstitial. When the drop misses, the interstitial wins. A 15-year-old or logged-out viewer gets a tap-through blur on a gore-labeled card/text post. The same viewers are hard-dropped for
NSFW_CARD_IMAGEwithout media.This is not #133 (gizmoduck age 0). This is not #159 (viewer-age lookup fail-open). This is not #134 (TES media read fail-closed). This is the rule predicate.
Five-line proof
nsfw_no_media_label_condition/graphic_base_conditioninvisibility-filtering/rules/tweet_rules.rsSENSITIVE_VIEWER_DROPSon TimelineHome and TimelineHomeRecommendations (TIMELINE_HOME_SHARED_RULES)!has_media()skipped the drop, thenGoreAndViolenceInterstitialRuleserved InterstitialNSFW_TEXTandNSFW_CARD_IMAGEalready drop without media; adult interstitial on gore without media is unchangedFix
Add
GORE_AND_VIOLENCE_HIGH_PRECISIONtonsfw_no_media_label_condition. Author self-view stays exempt.NSFW_HIGH_PRECISIONwithout media stays Allow (hp_no_media).Tests
sensitive_firing_candidatesincludes gore without mediaunderage_viewer_drops_gore_without_media,logged_out_viewer_drops_gore_without_media,no_stated_age_in_gating_country_drops_gore_without_mediagore_and_violence_label_interstitials_in_networkunchangedStandalone decision-table harness (same predicates): 12/12 passed.
cargo testcannot run. Public dump has no visibility-filtering crate manifest.Leftover
NSFW_HIGH_PRECISIONwithout media still Allows underage (hp_no_media). Ancillary Interstitial on quote/RT/ancestor remains #143 / #146. TES media read fail-closed remains #134.Fork PR: none