Reviewed-on: #10
Merge feature/wp19-graph-viz into main
WP-19: Frontend Modularization & Advanced Graph Visualization
Dieses Update transformiert die Frontend-Architektur umfassend:
- **Refactoring:** Die monolithische `ui.py` wurde in eine modulare Struktur (`ui_graph_service.py`, `ui_editor.py`, `ui_cytoscape.py` etc.) zerlegt.
- **Feature (Graph):** Integration von `st-cytoscape` mit COSE-Layout für stabile, überlappungsfreie Visualisierung ("Active Inspector, Passive Graph" Pattern).
- **Feature (Editor):** Implementierung der "Single Source of Truth" Logik. Der Editor lädt Inhalte nun direkt vom Dateisystem statt aus Datenbank-Payloads.
- **Feature (UX):** Layout-Einstellungen und Graph-Tiefe werden nun via URL-Parameter persistiert (Deep Linking).
- **Documentation:** Erstellung der `03_tech_frontend.md` und Aktualisierung aller relevanten Guides.
- **Dependencies:** Wechsel von `streamlit-cytoscapejs` zu `st-cytoscape`.
"Bearbeiten" Button im Graph.
Vollständige Chat- & Editor-Funktionen.
Switch-Helper für den Wechsel vom Graphen zum Editor.
Fix für ausgehende Kanten (Note-Level).
Fix für pydantic Validierung (MatchExcept).
Hover-Text (Tooltip) mit Inhalt.
Logik zum Ausblenden von Labels.
Reviewed-on: #9
### MERGE: WP-15 Smart Edge Allocation & Traffic Control (v2.6.0)
**Zusammenfassung:**
Dieses Merge Request schließt das Workpackage WP-15 ab. Die Kernziele – präzisere Kanten-Zuweisung und System-Stabilität unter LLM-Last – wurden erreicht. Die Implementierung der LLM-basierten Smart Edges ist damit produktionsreif.
**Kern-Features:**
1. **Smart Edge Allocation:** Kanten werden nun LLM-geprüft und nur an die spezifischen Chunks gebunden, in denen der verlinkte Inhalt relevant ist. Das reduziert "Beifang" im Retrieval und erhöht die Präzision.
* Steuerung: Über `types.yaml` (`enable_smart_edge_allocation`).
2. **Traffic Control & Resilienz:** Der `LLMService` implementiert Prioritäts-Warteschlangen (`priority="realtime"` vs. `"background"`).
* **Ergebnis:** Chat-Anfragen haben Vorfahrt und das System stürzt während rechenintensiver Importe nicht mehr mit Timeouts ab. Die Parallelität des Imports ist über `MINDNET_LLM_BACKGROUND_LIMIT` konfigurierbar.
3. **UI Robustheit:** Der "Healing Parser" im Frontend (`ui.py`) repariert automatisch kaputte YAML-Frontmatter in LLM-generierten Drafts.
**Betroffene Komponenten:**
* `app/services/llm_service.py` (Traffic Control / Semaphore)
* `app/core/chunker.py` / `app/services/semantic_analyzer.py` (Smart Edge Logik / Retry)
* `app/routers/chat.py` (Hybrid Router v5 / Question Detection)
* `app/frontend/ui.py` (Healing Parser / API-Timeouts)
* `config/types.yaml` (Neue Profile & Smart Edge Flag)
**Aktionen nach Merge:**
* **Admins:** `MINDNET_LLM_BACKGROUND_LIMIT` in der Produktions-.env prüfen und ggf. anpassen.
* **Initialisierung:** Bei Änderung der Chunking-Profile ist ein Full Rebuild notwendig.