4 Commits

Autor SHA1 Nachricht Datum
claude-dev
e31536f8f9 Backfill-Migration: fehlende DE-Uebersetzungen via Translator-Agent
Nutzt agents/translator.py mit Haiku, idempotent (COALESCE), Batches a 5,
robustes Parsing, Backup vor Lauf, Statistik am Ende inkl. Cost.
2026-05-03 00:05:07 +00:00
claude-dev
5f96c8f3dd Backfill-Migration: ASCII-Umlaute in articles korrigieren
Idempotente Migration mit --db Parameter, Backup vor Lauf, Sample-Output.
Behandelt headline_de + content_de bei allen Artikeln; bei language=de
zusaetzlich headline + content_original. Nutzt das gleiche hunspell-Dict
wie der Live-QC.
2026-05-02 23:26:27 +00:00
claude-dev
939a7e9476 Backfill-Migration: HTML aus articles.content_original/content_de strippen
Idempotente Migration mit --db Parameter (Live + Staging benutzbar),
Backup vor Lauf, Verifikations-Check nach Lauf. Selektiert alle Artikel
mit HTML-Tag-Pattern, strippt via html_to_text-Helper aus dem Monitor-Repo,
respektiert 1000-Zeichen-Cap.
2026-05-02 23:13:41 +00:00
claude-dev
4dc372814d Audit-Log + Brute-Force-Schutz + unlimited_budget + User-Delete-Fix
- Schema-Migration: ON DELETE SET NULL fuer incidents.created_by, magic_links.user_id,
  network_analyses.created_by (behebt 500er beim User-Loeschen). Neue Spalte
  licenses.unlimited_budget. Neue Tabellen portal_audit_log, portal_login_attempts.
- Audit-Log: alle CREATE/UPDATE/DELETE auf Org/User/Lizenz/Quelle + Login-Events
  werden mit before/after-Diff in portal_audit_log geschrieben.
- Brute-Force-Schutz: 5 Fehlversuche pro IP+Username/15min -> 429 mit Retry-After.
- Token-Budget: expliziter Schalter unlimited_budget pro Lizenz. UI zeigt ehrlich
  >100%-Verbrauch (kein Math.min mehr) und ungebremste Anzeige bei unlimited.
- Neuer Audit-Log Tab mit Filter (Aktion/Ressource/Admin/Zeitraum) und Pagination.
2026-05-02 20:16:03 +00:00