docs: Update migration plan with Notion SSoT and refined prompt variables
This commit is contained in:
@@ -152,6 +152,12 @@ Contacts stehen in 1:n Beziehung zu Accounts. Accounts können einen "Primary Co
|
|||||||
|
|
||||||
## 7. Historie & Fixes (Jan 2026)
|
## 7. Historie & Fixes (Jan 2026)
|
||||||
|
|
||||||
|
* **[UPGRADE] v0.6.0: Notion Single Source of Truth (Jan 19, 2026)**
|
||||||
|
* **Notion SSoT:** Umstellung der Branchenverwaltung (`Industries`) und Robotik-Kategorien auf Notion. Lokale Änderungen im Web-Interface sind für synchronisierte Felder deaktiviert, um die Datenintegrität zu wahren.
|
||||||
|
* **Dynamische Klassifizierung:** Der `ClassificationService` lädt die `allowed_industries` nun direkt aus der Datenbank, die wiederum via Sync-Skript aus Notion befüllt wird.
|
||||||
|
* **Erweiterte Datenmodelle:** Die Datenbank wurde um Felder wie `whale_threshold`, `min_requirement`, `scraper_keywords` und `industry_group` erweitert.
|
||||||
|
* **Sync-Automation:** Bereitstellung von `backend/scripts/sync_notion_industries.py` zur manuellen oder automatisierten Aktualisierung des lokalen Datenbestands.
|
||||||
|
|
||||||
* **[UPGRADE] v0.5.1: Robustness, UI Fixes & Wikipedia Hardening**
|
* **[UPGRADE] v0.5.1: Robustness, UI Fixes & Wikipedia Hardening**
|
||||||
* **[FIX] Critical DB Schema Mismatch (Jan 15, 2026):**
|
* **[FIX] Critical DB Schema Mismatch (Jan 15, 2026):**
|
||||||
* **Problem:** Die Anwendung stürzte beim Zugriff auf Firmendetails mit `OperationalError: no such column: wiki_verified_empty` ab.
|
* **Problem:** Die Anwendung stürzte beim Zugriff auf Firmendetails mit `OperationalError: no such column: wiki_verified_empty` ab.
|
||||||
@@ -302,8 +308,22 @@ Based on the identified infrastructure, score the potential for these categories
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Variablen:**
|
**Variablen:**
|
||||||
* **`company_name`**: Name des Unternehmens.
|
* **`company_name`**: Offizieller Name des Zielunternehmens zur korrekten Identifikation im Dossier.
|
||||||
* **`website_text`**: Der gescrapte Text der Hauptseite (max. 20.000 Zeichen).
|
* **`website_text`**: Der gescrapte Text der Hauptseite (max. 20.000 Zeichen), der als primäre Informationsquelle dient.
|
||||||
* **`allowed_industries`**: Dynamisch geladene Liste der erlaubten Branchen aus der Datenbanktabelle `industries` (konfiguriert via Settings > Industry Focus).
|
* **`allowed_industries`**: Eine JSON-Liste der gültigen Branchen. Diese wird dynamisch aus der Datenbanktabelle `industries` geladen (synchronisiert aus Notion). Erzwingt ein sauberes CRM-Mapping.
|
||||||
* **`category_guidance`**: Dynamisch generierte Definitionen und Scoring-Regeln für die Robotik-Kategorien (aus der Datenbank).
|
* **`category_guidance`**: Dynamisch generierte Definitionen und Scoring-Anweisungen für die Robotik-Kategorien. Ermöglicht die Anpassung der KI-Logik über Notion/Settings ohne Code-Änderung.
|
||||||
|
|
||||||
|
## 9. Notion Integration (Single Source of Truth)
|
||||||
|
|
||||||
|
Das System nutzt Notion als zentrales Steuerungselement für strategische Definitionen.
|
||||||
|
|
||||||
|
### 9.1 Datenfluss
|
||||||
|
1. **Definition:** Branchen und Robotik-Kategorien werden in Notion gepflegt (Whale Thresholds, Keywords, Definitionen).
|
||||||
|
2. **Synchronisation:** Das Skript `sync_notion_industries.py` zieht die Daten via API und führt einen Upsert in die lokale SQLite-Datenbank aus.
|
||||||
|
3. **App-Nutzung:** Das Web-Interface zeigt diese Daten schreibgeschützt an. Der `ClassificationService` nutzt sie als "System-Anweisung" für das LLM.
|
||||||
|
|
||||||
|
### 9.2 Technische Details
|
||||||
|
* **Notion Token:** Muss in `/app/notion_token.txt` (Container-Pfad) hinterlegt sein.
|
||||||
|
* **DB-Mapping:** Die Zuordnung erfolgt primär über die `notion_id`, sekundär über den Namen, um Dubletten bei der Migration zu vermeiden.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user