17 fehlende Quellen (815-831) im Irankonflikt und 11 fehlende (77-87)
im Ukraine-Konflikt in sources_json nachgetragen. Ursache: Claude
referenziert Quellen im Summary-Text, liefert sie aber nicht immer
im sources-Array mit. Neue Validierung im Orchestrator erkennt
fehlende Quellennummern nach dem Merge und fuegt Platzhalter ein.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Statische JS/CSS-Dateien hatten alten Cache-Buster (20260304h),
dadurch wurde die neue components.js mit Info-Tooltips nicht geladen.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- DB-Migration: language und bias Spalten zur sources-Tabelle hinzugefuegt
- Alle 254 Quellen mit Metadaten befuellt (Sprache, politische Ausrichtung)
- SourceResponse-Modell um language/bias Felder erweitert
- Info-Icon (i) mit Hover-Tooltip nach source-group-name eingefuegt
- Tooltip zeigt Typ, Sprache und Ausrichtung der jeweiligen Quelle
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Telegram-Quellen haben kein domain-Feld, daher wurde der interne
Gruppierungsschluessel _single_<id> als Anzeigename verwendet.
Jetzt wird bei _single_-Prefix auf den tatsaechlichen Kanalnamen zurueckgegriffen.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Internationale Quellen, Sichtbarkeit, Faktencheck: Jeder Zustand beginnt in eigener Zeile
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- CSS-only Tooltip-System (.info-icon mit data-tooltip Attribut)
- Modal: Art der Lage, Internationale Quellen, Telegram, Sichtbarkeit, Aufbewahrung
- Dashboard: Faktencheck-Kachel (erklärt Status-Kategorien)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- RESEARCH_PROMPT_TEMPLATE: {existing_context} Platzhalter eingefügt
- search(): Baut bei Adhoc-Folge-Refreshes Kontextblock mit bis zu 30 bekannten Headlines auf
- orchestrator: Übergibt bestehende Artikel jetzt für ALLE Incident-Typen, nicht nur Research
Effekt: Bei Adhoc-Auto-Refreshes findet Claude WebSearch gezielt neue Quellen statt immer dieselben Mainstream-Treffer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- DEEP_RESEARCH_PROMPT: 4-Phasen-Strategie (Breite Erfassung → Lückenanalyse → Gezielte Tiefenrecherche → Verifikation)
- Ziel 15-25 Quellen aus 5+ Quellentypen statt 8-15 aus Mainstream
- researcher.search(): Neuer Parameter existing_articles — bereits bekannte Quellen werden als Kontext übergeben, damit Claude gezielt neue Perspektiven findet
- orchestrator: DB-Abfrage vor Pipeline verschoben, bestehende Artikel als Kontext an Researcher übergeben (nur Research-Typ)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 feste Farbstufen (primary/secondary/tertiary/mentioned) mit
variablen Labels pro Lage, die von Haiku generiert werden.
- DB: category_labels Spalte in incidents, alte Kategorien migriert
(target->primary, response/retaliation->secondary, actor->tertiary)
- Geoparsing: generate_category_labels() + neuer Prompt mit neuen Keys
- QC: Kategorieprüfung auf neue Keys umgestellt
- Orchestrator: Tuple-Rückgabe + Labels in DB speichern
- API: category_labels im Locations- und Lagebild-Response
- Frontend: Dynamische Legende aus API-Labels mit Fallback-Defaults
- Migrationsskript für bestehende Lagen
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- CSS: min-height:0 und height:100% für Flex-Container
- JS: Höhe wird immer explizit aus der Gridstack-Kachel berechnet,
nicht nur als Fallback unter 50px
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Neuer Button zwischen Reload und Schließen. Toggled zwischen
normalem Fenster und Vollbild. Icon wechselt zwischen Expand/Collapse.
Schließen und Reset beenden Vollbild automatisch.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Invalid group reference \2 in re.sub entfernt (non-capturing group
hatte keine \2). Tags werden jetzt durch [tag] ersetzt.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reload-Button (kreisförmiger Pfeil) neben dem Schließen-Button.
Wird erst sichtbar nach der ersten Nachricht. Setzt Konversation
zurück, leert den Verlauf und zeigt die Begrüßung erneut.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Zeigt "X Artikel aus Y Quellen" direkt im Header der Quellenübersicht-Kachel,
sodass die Info auch ohne Aufklappen sichtbar ist.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Lagebilder sollen so ausführlich wie nötig erstellt werden.
Alle 4 Templates (Analyse, Briefing, inkrementell) angepasst.
Inkrementelle Analyse behält nun alle Themenabschnitte bei
statt aggressiv zu kürzen.
Beim Re-Check eines Faktenchecks wurde die bestehende evidence nicht
aus der DB geladen (fehlte im SELECT). Dadurch konnte der Fallback-Code,
der alte URLs bewahren soll, nie greifen. Neue Evidence ohne URLs
überschrieb die alte mit URLs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Phasen haben nur noch Mindest-Floors (queued 2%, recherche 12%,
analyse 35%, faktencheck 65%), keinen Deckel mehr. Der Balken
kriecht global asymptotisch Richtung 95% (0.5% des Restwegs pro
500ms), sodass er nie stehenbleibt. Phasenwechsel geben sichtbare
Boosts nach oben, complete snappt auf 100%.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>