diff --git a/src/agents/analyzer.py b/src/agents/analyzer.py index f40ab73..f7bd80a 100644 --- a/src/agents/analyzer.py +++ b/src/agents/analyzer.py @@ -566,7 +566,10 @@ class AnalyzerAgent: } filtered = [a for i, a in enumerate(articles, 1) if i in relevant_set] - rejected = len(articles) - len(filtered) + rejected_articles = [ + (idx, a) for idx, a in enumerate(articles, 1) if idx not in relevant_set + ] + rejected = len(rejected_articles) if not filtered and articles: logger.warning( f"Topic-Filter hat ALLE {len(articles)} Artikel verworfen — " @@ -578,6 +581,14 @@ class AnalyzerAgent: f"Topic-Filter: {len(filtered)}/{len(articles)} Artikel thematisch relevant " f"({rejected} verworfen)" ) + for idx, a in rejected_articles: + src = a.get("source", "Unbekannt") + hl = (a.get("headline_de") or a.get("headline") or "").strip() + hl_en = (a.get("headline_en_for_topic") or "").strip() + if hl_en and hl_en.lower() != hl.lower(): + logger.info("Topic-Filter REJECT [%d] %s | %s | EN: %s", idx, src, hl[:120], hl_en[:120]) + else: + logger.info("Topic-Filter REJECT [%d] %s | %s", idx, src, hl[:120]) return filtered, usage async def generate_latest_developments( diff --git a/src/agents/translator.py b/src/agents/translator.py index 2564f40..9ecfe58 100644 --- a/src/agents/translator.py +++ b/src/agents/translator.py @@ -233,7 +233,7 @@ async def translate_articles_batch( # sie wird auch dann gemacht, wenn der nachgelagerte Volltext-Translator # deaktiviert ist (Pflicht für korrektes Topic-Filtering, sehr kleine Kosten). -_TOPIC_TRANSLATE_CONTENT_MAX = 240 +_TOPIC_TRANSLATE_CONTENT_MAX = 500 def _needs_pretopic_translate(article: dict) -> bool: