Reviewed-on: #11
Merge branch 'feature/v2.7.0-smart-stability-cleanup' into develop
**WP-14 & WP-15: Consolidated Release & Cleanup (v2.7.0)**
Dieses Merge führt die Arbeiten an der Systemstabilität (Async/Fixes), der neuen Chunking-Intelligenz und der massiven Code-Bereinigung zusammen.
**Zusammenfassung der Änderungen:**
---------------------------------
1. **API / Core:**
- Umbau von `/ingest/save` auf FastAPI BackgroundTasks (Async).
- Implementierung `SemanticAnalyzer` für Edge-Filterung.
- Traffic Control via `asyncio.Semaphore` im `LLMService`.
2. **Ingestion Logic:**
- **Multi-Hash:** Implementierung von Body vs. Full Hash in `note_payload.py`.
- **Chunker:** Rewrite von `chunker.py` auf Hybrid-Strategie (Strict Heading + Safety Net).
- **Config:** Fix der Hierarchie (Frontmatter > Type > Default).
3. **Refactoring & Cleanup:**
- **DELETION:** Entfernung von "Dead Code" (Legacy `mindnet_embed`, alte Router v0.1, ungenutzte UI-Files wie `ui_editor.py`).
- **Structure:** Durchsetzung der 4-Säulen-Architektur im `Developer Guide`.
- **Docs:** Vollständiges Update aller Tech-Docs (`03_*.md`) auf v2.7.0 Stand sowie Generierung neuer Referenztabellen.
**🔧 CONSOLIDATION REPORT (Conflict Resolution):**
---------------------------------
Die parallelen Entwicklungsstränge (Bugfix vs. Feature vs. Cleanup) wurden wie folgt gelöst:
- **`app/core/ingestion.py`:**
- Konflikt: WP-14 entfernte Argumente, WP-15 fügte Smart-Edge-Logik hinzu.
- Lösung: Neue Signatur nutzt ENV-Vars für Hashes, ruft aber den neuen Chunker mit `smart_edge`-Flag auf.
- **`config/types.yaml`:**
- Konflikt: WP-14 verließ sich auf alte Profile, WP-15 führte neue ein.
- Lösung: Datei wurde auf WP-15 Stand (v2.6.0+) gehoben, inkl. `structured_smart_edges_strict`.
- **`app/frontend/ui.py`:**
- Das UI reagiert nun auf den `queued` Status (WP-14), visualisiert aber keine Wartezeit mehr, da der Prozess im Hintergrund läuft. UI-Code für synchrone Warteschlangen wurde entfernt.
- **Legacy Removal:**
- Alle Dateien, die im AST-Scan `used_by: []` aufwiesen und keine Entrypoints waren (z.B. `app/routers/embed_router.py`), wurden aus dem Git-Index entfernt.
**Post-Merge Actions:**
---------------------------------
1. `pip install -r requirements.txt` (Prüfen auf neue Async-Libs).
2. **CRITICAL:** `app/embed_server.py` und andere "Zombie"-Dateien müssen lokal gelöscht werden.
3. `.env` anpassen (`MINDNET_LLM_BACKGROUND_LIMIT`).
4. **FULL REBUILD** erforderlich (`import_markdown --force`).