diff --git a/CLAUDE.md b/CLAUDE.md index e7e267f..5ed2c71 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,7 +25,7 @@ backend: framework: FastAPI (Python 3.12) datenbank: SQLite (WAL-Modus, aiosqlite) auth: Magic-Link-Login per E-Mail (JWT HS256, 24h Ablauf) - scheduler: APScheduler (Auto-Refresh jede Minute, Cleanup stuendlich) + scheduler: APScheduler (Auto-Refresh 1min, Cleanup 1h, Health-Check taeglich 04:00) websocket: FastAPI native (Echtzeit-Updates) ki_agenten: Claude CLI (WebSearch + WebFetch Tools) email: aiosmtplib (Magic Links, Benachrichtigungen) @@ -75,6 +75,8 @@ AegisSight-Monitor/: services/: license_service.py: "Lizenzpruefung (check_license), Nutzer-Limit, Ablauf-Check" + source_health.py: "Quellen-Health-Check Engine (Erreichbarkeit, Feed-Validitaet, Aktualitaet, Duplikate)" + source_suggester.py: "KI-gestuetzte Quellen-Vorschlaege via Claude Haiku" middleware/: license_check.py: "FastAPI Dependencies: require_active_license, require_writable_license" @@ -161,7 +163,10 @@ datenbank_tabellen: fact_checks: "Faktenchecks (claim, status, evidence)" refresh_log: "Refresh-Protokoll (Token-Statistiken, Kosten)" incident_snapshots: "Archivierte Lageberichte" - sources: "Quellen-Verwaltung (RSS-Feeds, Web-Quellen, Blacklist)" + sources: "Quellen-Verwaltung (RSS-Feeds, Web-Quellen, Ausgeschlossene)" + source_health_checks: "Health-Check-Ergebnisse (Erreichbarkeit, Feed-Validitaet)" + source_suggestions: "KI-Vorschlaege (neue Quellen, Deaktivierung, URL-Fix)" + user_excluded_domains: "Per-User ausgeschlossene Domains" notifications: "Persistente In-App-Benachrichtigungen" incident_subscriptions: "E-Mail-Abo-Einstellungen pro User/Lage"