Files
Brancheneinstufung2/docs/tasks.md

6.2 KiB

Aufgaben & Meilensteine

Phase 1: Stabilisierung & Daten-Import (Abgeschlossen)

  • Stabilität: ModuleNotFoundError durch Downgrade der openai-Bibliothek beheben.
  • Stabilität: json.JSONDecodeError durch robuste Parser in helpers.py beheben.
  • Sync-Design: Prozess für den Datenabgleich D365 -> GSheet ohne API definieren.
  • Implementierung: sync_manager.py für den "Full-Sync mit intelligentem Merge" erstellen.
  • Debugging: Fehler im SyncManager (Attribut-, Typ- und Index-Fehler) iterativ beheben.
  • Kernproblem-Analyse: "Header-Mismatch" als Ursache für Datenverlust identifizieren.
  • Implementierung: Header-Normalisierung in der _load_data-Methode implementieren.
  • Fachlogik: Spezifische Vergleichsregeln für Länder, Techniker, Umsatz, Mitarbeiter und Branchen definieren und implementieren.
  • Tooling: Einen simulate_sync-Modus und einen finalen Statistik-Report implementieren.

Phase 2: Schließen des Datenkreislaufs (In Arbeit)

  • Design: Spalten und Format für die D365-Re-Import-Datei definieren.

  • Implementierung: Eine neue Funktion/einen neuen Modus (generate_import_file) erstellen, der die d365_import.xlsx erzeugt.

  • Logik: Die Funktion soll nur Datensätze exportieren, die im letzten Lauf geändert wurden (ReEval Flag oder neu erstellt).

  • Logik: Die Branchennamen müssen vor dem Export mithilfe des Mappings in der config.py in das D365-Format übersetzt werden.

  • Testing: Den vollständigen Round-Trip testen: sync -> reeval -> generate_import_file -> Manueller Import in D365.

Phase 3: Optimierung der Potenzialanalyse (Abgeschlossen)

  • Bugfix: "Concatenated Year Bug" (z.B. Wolfra 802020) im MetricParser behoben.

  • Logik: Smart-Year-Skipping implementiert (Zahlen zwischen 1900-2100 werden als Jahre ignoriert, wenn Alternativen existieren).

  • Präzision: Entity-Confusion (z.B. Therme Erding vs. Hallenbad Erding) durch Standort-Validierung im Such-Prompt minimiert.

  • Transparenz: Confidence Scores (0.0-1.0) und "Proof Snippets" (Original-Textfragmente) in die Datenbank integriert.

  • UI: Confidence-Ampel und Tooltip für Quellen-Beweise im Frontend implementiert.

  • Integrität: Fehlende API-Endpunkte für Firmen-Erstellung, Bulk-Import und Wiki-Overrides wiederhergestellt.

Persona Segmentierung & Rollen-Matching (v0.9.0 - Abgeschlossen)

  • Database Portability: Up- & Download der SQLite-Datenbank direkt im UI implementiert (inkl. automatischem Backup).
  • Pattern Optimizer: Asynchrones KI-System zur automatischen Generierung von Regex-Mustern aus Einzelregeln.
  • Konflikt-Management: KI-gestützte Prüfung von Regex-Regeln gegen andere Rollen (Negative Examples) zur Vermeidung von Fehlzuordnungen.
  • Regex Sandbox: Interaktives Test-Tool im Frontend zur Validierung von Mustern gegen echte Jobtitel.
  • Smart Suggestions: Live-Analyse der Datenbank zur Anzeige häufiger Schlüsselwörter als Klick-Vorschläge.
  • Robustheit: Implementierung eines AST-basierten Parsers für komplexe Regex-Escaping-Szenarien.

Lead Engine: Tradingtwins Automation (In Arbeit)

  • E-Mail Ingest: Automatisierter Import von Leads aus dem Postfach info@robo-planet.de via Microsoft Graph API.
  • Parsing: Strukturierte Extraktion von Bedarfsdaten (Fläche, Zweck, Funktionen) aus Tradingtwins-HTML.
  • Contact Research: KI-gestützte Rollen-Identifizierung via SerpAPI und Gemini 2.0 Flash.
  • CE-Sync: Automatisches Anlegen von Firmen und Kontakten im Company Explorer inkl. Role-Mapping.
  • Drafting: E-Mail-Generator auf "Human Expert Level" mit Branchen-Fokus und ROI-Argumentation.
  • UI: Visuelle Unterscheidung: Leads nach Herkunft (TradingTwins vs. Website-Formular) optisch differenziert.
  • UI: Status-Indikatoren: Synchronisationsstatus (CE) und Low-Quality-Warnungen direkt im Lead-Header sichtbar.
  • Drafts: Persistente Speicherung: Generierte E-Mail-Entwürfe werden dauerhaft in der Datenbank gespeichert.
  • IT-Klärung: Microsoft Bookings Berechtigungen (Bookings.Read.All, BookingsAppointment.ReadWrite.All) für die Entra App anfragen und "Admin Consent" einholen.
  • Infrastruktur: Korrekten Buchungslink (persönliches Konto) ermitteln und in der .env (Variable BOOKING_LINK) hinterlegen.
  • CRM-Integration: Modul "Push to SuperOffice" entwickeln, um Personen und E-Mail-Entwürfe (als Aufgabe/Aktivität) direkt im CRM anzulegen.
  • Daten-Synchronisation: Notion-Produktdatenbank in die lokale DB spiegeln, um Produktauswahl und ROI-Berechnung zu dynamisieren.
  • Logik: ROI-Kalkulation im E-Mail-Entwurf auf Basis von echten Leistungsdaten (m²/h) und Preisen schärfen.
  • UI: "Copy to Clipboard" Funktion für den fertigen Entwurf in der Web-App finalisieren.
  • Phase 2: Intelligente Antworten für Kontaktformulare: Entwicklung einer kontextbezogenen Antwortlogik für Website-Formular-Leads (zunächst allgemeine Bestätigung, später KI-gestützt auf Nachrichtsinhalt basierend).

Heatmap Tool (Standalone)

Status: Beta (Funktionsfähig mit Basisfunktionen)

  • Setup: Projektstruktur mit FastAPI (Backend) und React/Vite (Frontend) aufgesetzt.
  • Daten: Upload von XLSX-Dateien und automatische PLZ-Erkennung implementiert.
  • Visualisierung: Leaflet-Karte mit "Points"-Ansicht (CircleMarker) und "Heatmap"-Ansicht (Density) erstellt.
  • Interaktivität: Dynamische Filterung nach Spaltenwerten implementiert.
  • UI/UX: Filter-Panel redesignet (Checkboxen, Collapsible) und Tooltip-Manager integriert (Drag & Drop, Sichtbarkeit).
  • Clustering: Marker Clustering für die Punkte-Ansicht implementiert.
  • Fix: Docker-Networking Probleme (Vite Proxy) gelöst.
  • Fix: Infinite-Loop bei zoom-adaptiver Legende durch Revert behoben (Feature als instabil markiert).

Offene Punkte & Erweiterungen

  • Export: Funktion "Karte als PNG speichern" implementieren.
  • Geo-Aggregation: Aggregation nach Bundesland und Landkreis hinzufügen.
  • Multi-Layer: Vergleichsansicht (z.B. Kunden vs. Techniker) durch zweiten Datei-Upload ermöglichen.