diff --git a/filtersets.json b/filtersets.json new file mode 100644 index 0000000..82f8f9c --- /dev/null +++ b/filtersets.json @@ -0,0 +1,72 @@ +{ + "safe_content": { + "description": "Filter for safe, family-friendly content", + "post_rules": { + "moderation.flags.is_safe": {"equals": true}, + "moderation.content_safety.violence": {"max": 0.3}, + "moderation.content_safety.sexual_content": {"max": 0.2}, + "moderation.content_safety.hate_speech": {"max": 0.1}, + "moderation.warnings": {"excludes": ["graphic_content", "mature_content"]} + }, + "comment_rules": { + "moderation.flags.is_safe": {"equals": true}, + "moderation.content_safety.harassment": {"max": 0.3}, + "moderation.content_safety.profanity": {"max": 0.4} + }, + "comment_filter_mode": "tree_pruning" + }, + "tech_only": { + "description": "Technology and programming content only", + "post_rules": { + "platform": {"in": ["hackernews", "reddit", "lobsters", "stackexchange"]}, + "source": {"in": ["programming", "python", "javascript", "technology", "stackoverflow"]}, + "moderation.topics": {"includes_any": [ + {"topic": "technology", "confidence_min": 0.5}, + {"topic": "programming", "confidence_min": 0.5}, + {"topic": "software", "confidence_min": 0.5} + ]} + }, + "comment_rules": { + "moderation.flags.is_safe": {"equals": true} + }, + "comment_filter_mode": "tree_pruning" + }, + "high_quality": { + "description": "High quality posts and comments only", + "post_rules": { + "score": {"min": 10}, + "moderation.quality_score": {"min": 0.6}, + "moderation.readability.grade_level": {"max": 14}, + "moderation.flags.is_safe": {"equals": true} + }, + "comment_rules": { + "score": {"min": 2}, + "moderation.quality_score": {"min": 0.5}, + "moderation.flags.is_safe": {"equals": true} + }, + "comment_filter_mode": "tree_pruning" + }, + "no_filter": { + "description": "No filtering - all content passes", + "post_rules": {}, + "comment_rules": {}, + "comment_filter_mode": "individual" + }, + "custom_example": { + "description": "Example showing various rule types", + "post_rules": { + "platform": {"equals": "reddit"}, + "score": {"min": 5, "max": 10000}, + "timestamp": {"after": 1640000000}, + "author": {"not_in": ["deleted", "removed"]}, + "moderation.sentiment.overall": {"in": ["positive", "neutral"]}, + "moderation.language.detected": {"equals": "en"} + }, + "comment_rules": { + "depth": {"max": 5}, + "content": {"min_length": 10}, + "moderation.flags.is_blocked": {"equals": false} + }, + "comment_filter_mode": "tree_pruning" + } +}