Files
reader/configs/filter_rules.json

139 lines
4.3 KiB
JSON

[
{
"rule_id": "drop-low-content",
"enabled": true,
"stop_on_match": true,
"conditions_all": [
{ "field": "article.quality_flags.is_low_content", "op": "eq", "value": true }
],
"action": {
"decision": "drop",
"reason": "Extracted article quality is too low.",
"labels": ["quality", "low-content"],
"priority": 100
}
},
{
"rule_id": "review-truncated-content",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "article.quality_flags.is_truncated", "op": "eq", "value": true }
],
"action": {
"decision": "review",
"reason": "Extracted article may be truncated.",
"labels": ["quality", "truncated"],
"priority": 95
}
},
{
"rule_id": "review-paywalled-content",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "article.quality_flags.is_paywalled", "op": "eq", "value": true }
],
"action": {
"decision": "review",
"reason": "Article may be behind a paywall.",
"labels": ["quality", "paywall"],
"priority": 95
}
},
{
"rule_id": "drop-ephemeral-news",
"enabled": true,
"stop_on_match": true,
"conditions_all": [
{ "field": "summary.category", "op": "eq", "value": "资讯" },
{ "field": "summary.worth_keeping", "op": "eq", "value": false }
],
"action": {
"decision": "drop",
"reason": "News-like content marked as not worth keeping.",
"labels": ["summary", "ephemeral-news"],
"priority": 90
}
},
{
"rule_id": "keep-worth-keeping-method",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "summary.worth_keeping", "op": "eq", "value": true },
{ "field": "summary.category", "op": "in", "value": ["方法论", "工具实践"] }
],
"action": {
"decision": "keep",
"reason": "Structured summary marked the content as worth keeping in a durable category.",
"labels": ["summary", "durable"],
"priority": 80
}
},
{
"rule_id": "keep-interest-topic",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "summary.worth_keeping", "op": "eq", "value": true },
{ "field": "summary.category", "op": "not_in", "value": ["资讯"] },
{ "field": "summary.topics", "op": "overlap", "value": { "from_field": "context.interest_topics" } }
],
"action": {
"decision": "keep",
"reason": "Topics overlap with the backend and AI-agent interest profile on non-news content.",
"labels": ["interest", "topic-match"],
"priority": 78
}
},
{
"rule_id": "keep-interest-keyword",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "summary.worth_keeping", "op": "eq", "value": true },
{ "field": "summary.category", "op": "not_in", "value": ["资讯"] },
{ "field": "summary.keywords", "op": "overlap", "value": { "from_field": "context.interest_keywords" } }
],
"action": {
"decision": "keep",
"reason": "Keywords match the backend engineering or AI-agent watchlist on durable content.",
"labels": ["interest", "keyword-match", "engineering"],
"priority": 77
}
},
{
"rule_id": "review-interest-news-watch",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "summary.category", "op": "eq", "value": "资讯" }
],
"conditions_any": [
{ "field": "summary.topics", "op": "overlap", "value": { "from_field": "context.interest_topics" } },
{ "field": "summary.keywords", "op": "overlap", "value": { "from_field": "context.interest_keywords" } }
],
"action": {
"decision": "review",
"reason": "Relevant frontier or engineering news should be watched first instead of auto-kept.",
"labels": ["interest", "news-watch"],
"priority": 70
}
},
{
"rule_id": "review-worth-keeping-other",
"enabled": true,
"stop_on_match": false,
"conditions_all": [
{ "field": "summary.worth_keeping", "op": "eq", "value": true }
],
"action": {
"decision": "review",
"reason": "Worth-keeping signal is positive but no stronger keep rule matched.",
"labels": ["summary", "needs-review"],
"priority": 60
}
}
]