Commit graph

7 Commits

Autor SHA1 Nachricht Datum
Claude
5f053a3eca fix(source_suggester): Strategie-Eskalation vor Karteileichen ausfuehren
Live-Test heute zeigte: Strategie-Eskalations-Heuristik hat keine Vorschlaege
erzeugt, obwohl Verfassungsschutz und Rheinische Post beide fetch_strategy=
googlebot UND status=error haben. Grund: die Karteileichen-Heuristik lief
zuerst und fing diese Sources schon ein (article_count=0, weil googlebot-
Workaround blockiert), sodass die Doppel-Vermeidung der Strategie-
Eskalations-Stufe alles uebersprungen hat.

Fix: Reihenfolge in generate_suggestions umgekehrt. Strategie-Eskalation
zuerst (spezifischere Diagnose mit Begruendung "Workaround greift nicht:
HTTP 403"), Karteileichen danach (generische Auffanglogik).
2026-05-09 15:43:36 +00:00
Claude
49c557205d feat(source_suggester): Strategie-Eskalations-Heuristik
Neue Funktion generate_strategy_escalation_suggestions(db) erkennt aktive
Quellen, deren fetch_strategy bereits auf googlebot oder paywall eskaliert
wurde, beim Reachability-Check aber weiterhin status=error melden.

Beispiel: Rheinische Post hat fetch_strategy=googlebot, kriegt aber HTTP 403.
-> Auch der Googlebot-UA-Workaround greift nicht. Quelle wird automatisch
als deactivate-Vorschlag mit priority=high markiert.

Doppel-Vermeidung wie in der Karteileichen-Heuristik: nur wenn fuer die
source_id noch kein pending deactivate-Vorschlag existiert.

Aufgerufen in generate_suggestions als zweite deterministische Stufe,
zwischen Karteileichen-Heuristik und Haiku-Aufruf. Counter im Log
gibt jetzt alle drei Quellen-Beitraege getrennt aus.
2026-05-09 15:26:05 +00:00
Claude
d973dc7651 feat(source_suggester): Karteileichen-Heuristik vor Haiku-Stufe
Neue Funktion generate_stale_deactivation_suggestions(db, days_threshold=60)
erzeugt deactivate_source-Vorschlaege fuer aktive Quellen, die entweder
- noch nie einen Artikel geliefert haben (article_count=0), oder
- seit mehr als 60 Tagen stumm sind (last_seen_at < now - 60d).

Reine SQL-Heuristik, kein KI-Aufruf. Wird zu Beginn von generate_suggestions
ausgefuehrt, vor dem bestehenden Haiku-Lauf.

Doppel-Vermeidung: existiert fuer eine source_id schon ein pending
deactivate_source-Vorschlag, wird kein neuer eingefuegt.

Hintergrund: Aktuell sind 106 Quellen mit Warning "Noch nie Artikel
geliefert" und einige weitere mit "Letzter Artikel vor 49 Tagen" o.ae.
Diese fluten den Health-Status-Tab. Mit der neuen Heuristik wandern sie
automatisch in die Vorschlaege-Liste, wo der Admin sie per Klick
deaktivieren kann.

Schwelle 60 Tage als Konstante STALE_DEACTIVATE_THRESHOLD_DAYS oben
in der Datei, falls spaeter noch justiert werden soll.
2026-05-09 15:09:32 +00:00
Claude Code
897e56997c Mojibake fix: source_suggester.py + source_health.py via ftfy
Beide Files hatten Doppel-Encoded UTF-8 in Docstrings, Kommentaren und
Prompt-Strings (z.B. "prüft" statt "prüft", "Vorschläge" statt
"Vorschläge"). ftfy hat das automatisch repariert.

Hauptauswirkungen:
- Logs sind jetzt mit echten Umlauten lesbar
- Claude/Haiku-Prompts in source_suggester.py (Quellen-Vorschlaege via KI)
  bekommen jetzt korrekte deutsche Umlaute - sollte bessere Antworten geben

Daneben hat ftfy line-endings normalisiert, daher der grosse Diff in
source_health.py - inhaltlich nur Mojibake-Reparatur.

Verifiziert mit:
  grep -cE "ä|ö|ü|ß|Ä|Ö|Ü" src/services/*.py
  -> 0 Treffer
2026-05-09 03:35:13 +00:00
claude-dev
13143b9447 Fix: Duplikat-Vorschläge + Stale-Check nur für RSS-Feeds
- Duplikat-Check basiert auf source_id+type statt exaktem Titel
- add_source ohne source_id prüft per Domain-Match
- Stale-Check überspringt web_sources (nur RSS-Feeds prüfen)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:05:45 +01:00
claude-dev
5986d03209 Haiku-Suggester: source_id in Issues-Summary für korrekte Zuordnung
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:29:16 +01:00
claude-dev
40f2954811 Täglicher Quellen-Health-Check + Haiku-Vorschläge
- Neue Tabellen: source_health_checks, source_suggestions
- source_health.py: Prüft Erreichbarkeit, Feed-Validität, Aktualität, Duplikate
- source_suggester.py: KI-gestützte Vorschläge via Claude Haiku
- APScheduler Job: Automatischer Check täglich um 04:00

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:26:24 +01:00