Banner-Text + AI-Disclaimer-Modal + Translator-Robustheit

#28 Banner-Text bei Token-Budget aufgebraucht:
- middleware/license_check.py + static/js/app.js: Statt "Bitte Verwaltung
  kontaktieren" jetzt konkreter Upgrade-Pfad mit info@aegis-sight.de.

#29 AI-Hallucination-Disclaimer:
- Neue static/js/ai-disclaimer.js (analog zu update-system.js):
  IIFE-Modul, localStorage-versioniert (aegis_ai_disclaimer_seen=v1),
  inline-CSS mit Theme-Variablen, Modal mit Lucide-Info-Icon.
- Wird beim ersten Login einmalig gezeigt; ueber Header-User-Dropdown
  Eintrag "Ueber KI-Inhalte" jederzeit erneut oeffenbar.
- dashboard.html: Script-Tag + Dropdown-Button mit Lucide-SVG.
- style.css: kleiner Stil-Block fuer .header-dropdown-action.

Translator-Robustheit (Bonus):
- agents/translator.py: Parser akzeptiert jetzt auch von Claude wrapped
  Antworten ({{translations: [...]}}, {{items: [...]}}, einzelnes
  Object). Behebt Wrapper-Bug der gestern beim Backfill 75% der Calls
  fehlschlagen liess.
- Prompt deutlicher: "flaches JSON-Array, kein Wrapper".
Dieser Commit ist enthalten in:
Claude Code
2026-05-03 13:29:19 +00:00
Ursprung a6f36be9c6
Commit 6293cef91e
6 geänderte Dateien mit 249 neuen und 5 gelöschten Zeilen

Datei anzeigen

@@ -549,6 +549,31 @@ a:hover {
font-weight: 500;
}
.header-dropdown-action {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
background: transparent;
border: 0;
padding: 8px 12px;
color: var(--text-secondary);
font-size: 12px;
font-family: inherit;
cursor: pointer;
border-radius: 6px;
text-align: left;
transition: background 0.15s ease, color 0.15s ease;
}
.header-dropdown-action:hover {
background: var(--bg-hover, rgba(255, 255, 255, 0.04));
color: var(--text-primary);
}
.header-dropdown-action svg {
flex-shrink: 0;
color: var(--accent);
}
.header-license-badge {
display: inline-block;
font-size: 10px;