Files
Brancheneinstufung2/MIGRATION_PLAN.md

3.6 KiB

Migrations-Plan: Legacy GSheets -> Company Explorer (Robotics Edition v0.8.5)

Kontext: Strategische Neuausrichtung der Lead-Analyse für RoboPlanet. Zentrale Philosophie: Trennung von CRM-Historie ("Was wir wissen") und KI-Recherche ("Was aktuell wahr ist").

14. Detaillierte Logik der neuen Datenfelder (v2.0)

Um Gemini CLI (dem Bautrupp) die Umsetzung zu ermöglichen, hier die semantische Bedeutung und Implementierungs-Logik der neuen Spalten:

14.1 Qualitäts- & Abgleich-Metriken (Tabelle companies)

  • confidence_score (FLOAT, 0.0 - 1.0):

    • Bedeutung: Vertrauensindex der KI-Klassifizierung.
    • UI-Logik:
      • >= 0.8: Status "Grün". Vertrauenswürdige Daten.
      • 0.5 - 0.79: Status "Gelb". Erfordert manuellen Check (Review).
      • < 0.5: Status "Rot". KI-Ergebnis unsicher.
    • Hintergrund: Verhindert, dass Sniper-Texte auf Basis falscher Branchen-Zuordnungen generiert werden.
  • data_mismatch_score (FLOAT, 0.0 - 1.0):

    • Bedeutung: Metrik für die Abweichung zwischen SuperOffice-Bestand und Web-Recherche.
    • Rechenweg: Die KI vergleicht Name, Adresse und Website.
      • 0.0: Identisch (Voll-Treffer).
      • 0.5: Teil-Mismatch (z.B. Firma heißt im Web leicht anders oder ist innerhalb der Stadt umgezogen).
      • 1.0: Voller Mismatch (Zwei komplett verschiedene Firmen).
    • UI-Ziel: Im Inspector soll bei Werten > 0.3 eine Warnung erscheinen: "Achtung: Stammdaten weichen von Recherche ab!"
  • crm_name, crm_address, crm_website, crm_vat:

    • Zweck: Read-Only Snapshot aus SuperOffice.
    • Wichtig: Diese Felder werden nie durch die Web-Recherche überschrieben. Sie dienen dem Side-by-Side Vergleich.
  • Status-Flags:

    • website_scrape_status: Zeigt an, ob die Firmenwebsite erfolgreich ausgelesen wurde (SUCCESS, FAILED, BLOCKED).
    • wiki_search_status: Dokumentiert, ob ein Wikipedia-Eintrag gefunden wurde (FOUND, NOT_FOUND).

14.2 Strategie-Parameter (Tabelle industries)

  • pains / gains:

    • Enthalten formatierte Textblöcke.

    • Struktur: [Primary Product: Cleaning] - Pain A - Pain B

      [Secondary Product: Service] - Pain C

    • Anforderung: Das Frontend muss diese Blöcke sauber formatiert (whitespace-aware) anzeigen.

  • ops_focus_secondary (BOOLEAN):

    • Strategischer Hebel: Wenn auf True gesetzt, muss die Lead-Engine für operative Rollen (z.B. "Pflegedienstleitung") automatisch das Sekundärprodukt wählen, da hier der "Teller-Transport" wichtiger ist als die "Bodenreinigung".

15. Anweisungen für Gemini CLI (Arbeitspakete)

Task 1: UI-Implementierung "Data Match & Strategy"

1. Inspector.tsx (Account Detail):

  • Implementiere eine CRMComparisonCard.
  • Vergleiche crm_name vs name und crm_website vs website.
  • Visualisiere den data_mismatch_score als Ampel oder Score-Balken.
  • Fix: Korrigiere den Aufruf der ContactsManager Komponente (erwartet contacts Array).

2. RoboticsSettings.tsx (Settings):

  • Erweitere die Industries-Tabelle um die Spalten Pains, Gains, Priorität und Secondary Product.
  • Ermögliche das Ein-/Auskappen von langen Pain-Texten zur besseren Übersicht.

16. Deployment-Referenz (NAS)

  • Pfad: /volume1/homes/Floke/python/brancheneinstufung/company-explorer
  • DB: /app/companies_v3_fixed_2.db
  • Sync: docker exec -it company-explorer python backend/scripts/sync_notion_to_ce_enhanced.py