diff --git a/Executive_Weekly_Summary_2026-03-09.md b/Executive_Weekly_Summary_2026-03-09.md
index e476ea67..0561df56 100644
--- a/Executive_Weekly_Summary_2026-03-09.md
+++ b/Executive_Weekly_Summary_2026-03-09.md
@@ -2,6 +2,15 @@
**Gesamte investierte Zeit der Woche:** 65:59
+## 🌟 Top Highlights der Woche
+- 🚀 **GTM Engine Stack**: Der gesamte GTM Engine Stack mit 10 Microservices ist stabilisiert, produktionsreif und bereit für den finalen Umzug, was eine robuste Basis für unsere Marketing-Automatisierung schafft.
+- 🚀 **Lead-Engine**: Ein vollautomatischer "Zero-Touch"-Workflow für Leads inklusive einer eigenständigen Terminbuchungs-Engine wurde erfolgreich implementiert, um die Lead-Verarbeitung und Kalenderintegration zu beschleunigen.
+- 🚀 **Superoffice API**: Der API Connector ist erfolgreich auf dem Produktivsystem ausgerollt, inklusive robuster Webhook-Infrastruktur und einem Dashboard 2.0 für verbesserte Transparenz der Datenflüsse.
+- 🚀 **Company Explorer**: Ein KI-gestütztes End-to-End-System zur automatischen Jobrollen-Klassifizierung wurde implementiert, das die Datenqualität im Contact Enrichment signifikant verbessert und manuelle Pflege reduziert.
+- 🚀 **Roboplanet**: Das strategische "Maschinen-Projekt" zur Marketing-Automatisierung macht sehr gute Fortschritte und wird in den nächsten 1-2 Wochen produktiv erwartet, mit klaren 100-Tage-Zielen.
+
+---
+
## ⏱️ Zeitverteilung & Fokus
```mermaid
pie title Zeitverteilung nach Projekten (in Stunden)
@@ -36,99 +45,92 @@ Content Generator (create.. | 00:15 |
## 📁 Umzug Synology → Wackler IT (29:59)
### 🏆 Major Milestones
-* Der gesamte GTM Engine Microservice-Stack (10 Dienste) wurde erfolgreich integriert, stabilisiert und produktionsreif gemacht, inklusive robustem Docker-Setup (benannte Volumes, Healthchecks, Nginx-Routing).
-* Umfassende Sicherheitshärtung implementiert, einschließlich der Entfernung sensibler Daten aus der Git-Historie und der Zentralisierung aller API-Schlüssel in der `.env`-Datei.
-* Kritische Dienste wie Company Explorer, SuperOffice Connector und Lead Engine wurden vollständig repariert, stabilisiert und mit neuen Funktionen (z.B. Echo Shield, Kalenderlogik) erweitert.
-* Die Projektdokumentation wurde komplett überarbeitet und strukturiert, ergänzt durch die Implementierung automatisierter Integrationstests für die wichtigsten Backend-Dienste.
+* **Full GTM Engine Stack Stabilisiert & Produktionsreif:** Alle 10 Microservices (inkl. Company Explorer, Connector, Lead Engine, GTM Architect, B2B Assistant, Content Engine, Competitor Analysis, Transcription Tool) wurden erfolgreich integriert, stabilisiert und sind über das Nginx-Gateway erreichbar.
+* **Architektur gehärtet & Sicher:** Umstellung auf benannte Docker Volumes für alle Datenbanken, Implementierung von Docker Healthchecks und zentrales Secrets Management über `.env` zur Vermeidung von Berechtigungsproblemen und für robusten Start.
+* **Migrationsbereitschaft hergestellt:** Umfassende Dokumentationsüberarbeitung (RELOCATION.md, INFRASTRUCTURE.md), Konfiguration von "Self-Contained Images" und Implementierung automatisierter Integrationstests für kritische Backend-Dienste.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Ein strikter "Clean Slate"-Ansatz über Git und die ausschließliche Nutzung benannter Docker Volumes sind entscheidend für Datenintegrität und die Vermeidung von Berechtigungsproblemen während der Migration.
-* Entwicklung findet niemals direkt auf dem Produktivsystem statt; eine klare Trennung von Entwicklungs- und Produktionsumgebungen mit konfigurierbaren Sicherheitsmechanismen ist zwingend erforderlich.
+* **Strikte Dev/Prod-Trennung:** Entwicklung findet niemals direkt auf dem Produktivsystem statt; klare Richtlinien für sichere Webhook- und E-Mail-Handhabung wurden etabliert.
+* **Datenpersistenz & Sicherheit:** Ausschließlich benannte Docker Volumes für kritische Daten und `.env` für alle sensiblen Zugangsdaten, um Datenverlust und Permission-Probleme zu verhindern.
### 🚀 Nächste Schritte / Offene To-Dos
-* Finaler Umzug des gesamten GTM Engine Stacks auf die `docker1` Ubuntu VM, inklusive Klonen des Repositories, Kopieren der `.env`-Datei und Wiederherstellung der Docker Volumes.
-* Durchführung eines finalen Backups aller Docker Volumes gemäß der `RELOCATION.md` vor dem Umzug.
-* Überprüfung und Genehmigung der aktualisierten `RELOCATION.md`, insbesondere der neuen Abschnitte zu Entwicklungs-Workflows und Single-Host-Setup.
+* **Finaler Umzug auf `docker1` VM:** Klonen des Repos, Kopieren der `.env`, Wiederherstellen der gesicherten Docker Volumes und Starten des gesamten Stacks auf der Ziel-VM.
+* **Volume Backup durchführen:** Ausführung der in `RELOCATION.md` dokumentierten Backup-Befehle zur Sicherung aller Docker Volumes vor dem Umzug.
+* **Überprüfung der `RELOCATION.md`:** Gründliche Prüfung der aktualisierten Migrationsdokumentation durch den Benutzer zur Genehmigung der Strategie.
---
## 📁 Superoffice API (14:28)
### 🏆 Major Milestones
-* **Produktivsystem stabilisiert & einsatzbereit:** Der Superoffice API Connector läuft stabil auf dem produktiven Mandanten (Cust26720). Kritische Endlosschleifen wurden durch Circuit Breaker und Whitelist-Filter behoben.
-* **End-to-End-Datenanreicherung verifiziert:** Erfolgreiche Anreicherung von Testdaten (z.B. "Bremer Abenteuerland") in der Produktion bestätigt.
-* **Dashboard & Monitoring verbessert:** Das Dashboard bietet nun eine übersichtlichere Job-Gruppierung, detailliertere Statusmeldungen (inkl. `SKIPPED`) und eine verbesserte Transparenz.
-* **Infrastruktur optimiert:** Docker-Build-Zeiten wurden durch Multi-Stage-Builds von über 8 Minuten auf wenige Sekunden reduziert.
+* **Produktionsstart & Stabilität:** Der Superoffice API Connector wurde erfolgreich auf dem produktiven Mandanten Cust26720 ausgerollt, inklusive robuster Webhook-Infrastruktur und umfassendem Endlosschleifen-Schutz (Circuit Breaker, Whitelist-Filter).
+* **Verbesserte Transparenz:** Das Dashboard 2.0 wurde implementiert, bietet nun Sync-Run Clustering, einen `SKIPPED`-Status für ignorierte Webhooks und eine verbesserte Status-Priorisierung.
+* **Infrastruktur-Optimierung:** Docker-Build-Zeiten wurden durch Multi-Stage-Builds von über 8 Minuten auf wenige Sekunden reduziert und die finalen Images massiv verschlankt.
+* **Gezielte Datenverarbeitung:** Eine Mandanten-Filterung wurde implementiert, um die Verarbeitung auf relevante Roboplanet-Accounts zu beschränken und fehlerhafte Datenanreicherung zu verhindern.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* **E-Mail-Versand erfordert Admin-Rechte:** Der API-User benötigt eine verknüpfte Personalkarte und die Rolle "Mailing Administrator" im SuperOffice-Backend für den nativen E-Mail-Versand. Ein Workaround (E-Mails als Termine) wurde verifiziert.
-* **Herausforderungen bei Sales-Daten:** Produktinformationen in SuperOffice Sales sind oft unstrukturiert (Freitext) und nicht konsistent mit Kontakten verknüpft, was die Report-Erstellung erschwert.
+* **E-Mail-Versand blockiert:** Der direkte E-Mail-Versand über die SuperOffice API ist aktuell blockiert, da dem API-User eine verknüpfte Personalkarte und die Rolle "Mailing Administrator" fehlen. Ein Workaround (E-Mails als Termin-Aktivitäten) wurde erfolgreich getestet.
+* **Sales Datenqualität:** Produktinformationen in SuperOffice Sales sind oft unstrukturiert (Freitext) und nicht konsistent mit Kontakten verknüpft, was die automatisierte Berichterstellung erschwert.
### 🚀 Nächste Schritte / Offene To-Dos
-* **Meeting mit SuperOffice:** Klärung und Freischaltung der API-User-Identität und Mailing-Rechte für nativen E-Mail-Versand.
-* **Umstellung auf nativen E-Mail-Versand:** Nach Freigabe der Rechte den Termin-Workaround deaktivieren und den echten Versand aktivieren.
-* **Sales-Datenanalyse fortsetzen:** Untersuchung der leeren Reports und Verfeinerung der Produkt-Keywords zur Verbesserung der Sales-Berichterstattung.
+* **SuperOffice Meeting (Montag):** Klärung der API-User-Identität und Freischaltung der Mailing-Rechte ("Send As" Berechtigung) mit dem SuperOffice Support.
+* **Umstellung auf nativen E-Mail-Versand:** Aktivierung des echten E-Mail-Versands via `/Shipment`, sobald die notwendigen Rechte freigegeben sind.
+* **Sales Data Analyse:** Weitere Untersuchung der Sales-Entität zur Verbesserung der Produktzuordnung und Report-Erstellung, insbesondere bei unstrukturierten Daten.
---
## 📁 Lead-Engine: Tradingtwins (11:47)
### 🏆 Major Milestones
-* **Vollautomatischer Lead-Verarbeitungsworkflow:** Ein "Zero-Touch"-System für Trading Twins Anfragen wurde implementiert, das Leads nach CE-Analyse automatisch verarbeitet.
-* **Human-in-the-Loop & Direkte Terminbuchung:** Eine Teams-Integration mit Adaptive Cards ermöglicht Elizabeta die Freigabe/Stopp des E-Mail-Versands (5-Minuten-Timeout). Eine eigene "Direct Calendar Booking"-Engine wurde entwickelt, die freie Slots scannt und One-Click-Buchungen mit automatischen Outlook-Einladungen ermöglicht.
-* **Erweiterte Lead-Ingestion & UI:** Die Lead Engine verarbeitet nun auch Roboplanet Kontaktformulare. Das Streamlit-Dashboard wurde mit visuellen Unterscheidungen, Synchronisationsstatus und Warnungen für Low-Quality Leads verbessert.
-* **Sichere Microsoft Graph API Integration:** Die Authentifizierung gegen die Microsoft Graph API wurde erfolgreich implementiert, inklusive einer Dual-App Security Architektur für E-Mail-Versand und Kalenderzugriff.
+* **Erweiterte Lead-Ingestion & Parsing**: Die Lead Engine wurde erweitert, um Leads von Tradingtwins und Roboplanet Kontaktformularen automatisch zu erfassen, zu parsen und deren Qualität zu bewerten.
+* **Vollautomatischer Workflow mit Human-in-the-Loop**: Ein "Zero-Touch"-Workflow für Tradingtwins-Anfragen wurde implementiert, ergänzt durch eine Teams-basierte Freigabeoption für Elizabeta mit automatischem Versand nach 5 Minuten.
+* **Eigenständige Terminbuchungs-Engine**: Eine "Direct Calendar Booking"-Engine wurde entwickelt, die freie Slots in Elizabetas Kalender findet, One-Click-Buchungslinks generiert und automatische Outlook-Kalendereinladungen (von info@) inklusive Teams-Meeting-Links versendet.
+* **Sichere MS Graph API Integration**: Die Integration der Microsoft Graph API für E-Mail-Versand und Kalenderoperationen wurde mit einer Dual-App-Sicherheitsarchitektur (Info-App, Calendar-App) erfolgreich umgesetzt.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* **Abkehr von MS Bookings API:** Aufgrund von Lizenz- und Berechtigungsproblemen wurde eine eigene, robustere "Direct Calendar Booking"-Logik entwickelt.
-* **Umgang mit Exchange AppOnly AccessPolicy:** Der Zugriff auf fremde Kalender wurde durch eine Einladungs-Logik umgangen, da die AppOnly AccessPolicy dies blockiert.
+* **Abkehr von MS Bookings API**: Aufgrund technischer Einschränkungen und fehlender Lizenzierung wurde die Entscheidung getroffen, eine eigene, robustere Terminbuchungslogik zu entwickeln.
+* **Umgang mit Exchange AppOnly AccessPolicy**: Der Zugriff auf fremde Kalender wurde durch eine intelligente Einladungs-Logik umgangen, um die Beschränkungen der Exchange AppOnly AccessPolicy zu adressieren.
### 🚀 Nächste Schritte / Offene To-Dos
-* **Race-Condition-Schutz bei Überbuchung:** Implementierung eines "Live-Checks" im Feedback-Server, um den Kalender vor einer Buchung in Echtzeit zu prüfen und Alternativtermine vorzuschlagen.
-* **Integration der Buchungs-Seiten in WordPress:** Umsetzung der Einbettung von Termin-Bestätigungsseiten in robo-planet.de, beginnend mit einer iFrame-Lösung, gefolgt von einer nativen API-Integration.
-* **Go-Live Vorbereitungen:** Finalisierung von IT-Berechtigungen (Azure App-Credentials), Teams Webhook, Content (HTML-Signatur, Banner) und Nginx-Konfiguration.
+* **Race-Condition-Schutz**: Implementierung eines "Live-Checks" im Feedback-Server zur Echtzeitprüfung des Kalenders vor Buchungen, um Überbuchungen zu vermeiden.
+* **WordPress-Integration**: Umsetzung der Einbettung von Termin-Bestätigungsseiten in robo-planet.de, beginnend mit einer iFrame-Lösung, gefolgt von einer nativen API-Integration.
---
## 📁 Company Explorer (Account + Contact Enrichment) (04:28)
### 🏆 Major Milestones
-* **Initial AI-gestützte Rollenzuordnung & Admin-UI:** Ein zentraler `RoleMappingService` mit KI-Fallback wurde implementiert und in den SuperOffice-Workflow integriert. Die Admin-Oberfläche für Jobrollen wurde umfassend überarbeitet, inklusive Batch-Klassifizierung und direkter Bearbeitung.
-* **Skalierbare Regex-Muster-Optimierung:** Ein KI-gestützter "Pattern Optimizer" wurde entwickelt, der hunderte von Einzelregeln automatisch zu mächtigen Regex-Mustern konsolidiert, inklusive Konfliktprüfung und Fehlerkorrektur.
-* **Verbesserte Usability & Datenmanagement:** Eine Regex-Sandbox zum Testen von Mustern, Smart Suggestions und Funktionen zum Import/Export der Jobrollen-Datenbank (inkl. automatischem Backup) wurden hinzugefügt.
+* **Vollständiges Jobrollen-Klassifizierungssystem:** Ein End-to-End-System zur automatischen Zuordnung von Jobtiteln zu Rollen wurde implementiert, inklusive Datenbank, Backend-Services, SuperOffice-Integration und Batch-KI-Klassifizierung.
+* **KI-gestützte Regex-Musteroptimierung:** Eine intelligente KI-Engine wurde entwickelt, die Einzelregeln automatisch zu effizienten Regex-Mustern konsolidiert und Konflikte prüft, um die manuelle Pflege zu minimieren.
+* **Umfassendes Admin-UI für Rollenmanagement:** Das Admin-Interface wurde stark erweitert, um die Verwaltung, das Testen (Regex Sandbox) und den Import/Export von Jobrollen-Mustern zu ermöglichen.
-### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Die initiale Implementierung der Persona-Segmentierung und der zugehörigen UI-Verbesserungen ist erfolgreich abgeschlossen.
-* Das System ist nun bereit für die Transformation zu einem massiv skalierbaren, KI-gestützten Regex-System zur Rollen-Optimierung, um die manuelle Pflege drastisch zu reduzieren.
+### 🚀 Nächste Schritte / Offene To-Dos
+* Start des massenhaften Refactorings der bestehenden Rollen-Logik zur Reduzierung des manuellen Pflegeaufwands.
---
## 📁 General Maintenance (03:52)
-Guten Morgen zusammen,
-
-hier ist eine kurze Zusammenfassung der Fortschritte im Projekt "General Maintenance" für die vergangene Woche (03:52 Stunden investiert):
-
### 🏆 Major Milestones
-* **Vollständige Stack-Integration:** Alle 10 Microservices wurden erfolgreich in den Docker-Stack integriert und über das Nginx-Gateway verfügbar gemacht.
-* **Dokumentations-Restrukturierung:** Die Projektdokumentation wurde umfassend überarbeitet, mit einer schlanken `readme.md` und ausgelagerten technischen Details.
-* **Automatisierte Qualitätssicherung:** Eine Test-Infrastruktur für die vier kritischsten Backend-Dienste wurde implementiert und sichert deren Kernlogik ab.
-* **Systemstabilität:** Kritische Fehler (z.B. 502 Bad Gateway, Restart-Loops) wurden behoben, wodurch alle Dienste nun stabil und "healthy" laufen.
+* Vollständige Integration von 10 Microservices in den Docker-Stack und Verfügbarkeit über Nginx-Gateway.
+* Umfassende Restrukturierung der Projektdokumentation für verbesserte Übersichtlichkeit.
+* Implementierung einer automatisierten Test-Infrastruktur für 4 kritische Backend-Dienste.
+* Signifikante Erhöhung der Systemstabilität durch Behebung kritischer Fehler und unhealthy Status.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* **Dokumentationsstrategie:** Aktives Wissen wird direkt in den Microservice-Dokumentationen gepflegt, während Legacy-Informationen archiviert werden.
-* **Teststrategie:** Fokus auf schnelle API-Integrationstests mit gemockten externen Diensten zur effizienten Validierung der Kernlogik.
+* Strategie zur Dokumentation festgelegt: Aktives Wissen in Microservice-Doku, Altdaten archiviert.
+* Test-Strategie für schnelle API-Integrationstests mit gemockten externen Diensten definiert.
### 🚀 Nächste Schritte / Offene To-Dos
-* **Finaler Umzug:** Physische Übertragung des Projekts auf die `docker1` VM gemäß dem `RELOCATION.md` Plan.
-* **Backup der neuen Volumes:** Durchführung der Backup-Befehle aus `RELOCATION.md` vor dem Umzug, um alle Daten zu sichern.
+* Finaler Umzug des Projekts auf die docker1 VM gemäß RELOCATION.md.
+* Durchführung des Backups der neuen Volumes vor dem Umzug.
---
## 📁 Konver.ai (00:45)
### 🏆 Major Milestones
-* Strategie für Konver.ai-Nutzung auf "Smart Enricher" für gezielte Personensuche präzisiert.
-* Kommunikationsvorlagen für interne und externe Anfragen erstellt.
-* Alle strategischen Überlegungen und Vorlagen in `KONVER_STRATEGY.md` dokumentiert.
+* Strategie für Konver.ai-Nutzung auf gezielte Personensuche ("Smart Enricher") präzisiert.
+* Interne und externe Kommunikations-Vorlagen für API-Anfragen erstellt.
+* Alle strategischen Überlegungen in `KONVER_STRATEGY.md` dokumentiert.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Kritische Integrationshindernisse identifiziert: Fehlende Deduplizierung und unklare API-Antwortzeiten.
+* Kritische Integrationsrisiken (fehlende Deduplizierung, unklare Antwortzeiten) identifiziert.
### 🚀 Nächste Schritte / Offene To-Dos
* Interne Klärung von Budget, Einsatzszenario und technischer Architektur.
@@ -141,28 +143,27 @@ hier ist eine kurze Zusammenfassung der Fortschritte im Projekt "General Mainten
* Das "Maschinen-Projekt" (Marketing-Automatisierung) macht gute Fortschritte und wird in 1-2 Wochen produktiv erwartet.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Vier 100-Tage-Ziele für das Projekt "Start @ Roboplanet" wurden definiert und vereinbart.
-* Die strategische Bedeutung von KI-Agenten für Roboplanet wurde von Axel betont.
+* Vier 100-Tage-Ziele für das Projekt wurden definiert und vereinbart (Fokus auf Marketing-Automatisierung, Lead-Generierung, Webshop-Vorbereitung, Knowledge Base).
+* Die strategische Bedeutung von KI-Agenten für Roboplanet wurde bestätigt; die Erreichbarkeit von Alex (Sales Lead) für Input zu "Verticals" ist jedoch eine Herausforderung.
### 🚀 Nächste Schritte / Offene To-Dos
-* Lösung der Mailversand-Hürden mit SuperOffice (Fabio) für die Marketing-Automatisierung.
-* Zugang zum Miro-Board von Alex erhalten und erste Tests zur KI-gestützten Dateizuordnung für die Knowledge Base starten.
-* Intensivierung des Austauschs mit Alex (Sales Lead) zur Definition der "Verticals" und für Reality Checks.
+* Lösung der Mailversand-Hürden mit SuperOffice (Fabio).
+* Zugang zu Alex' Miro-Board erhalten und mehr "Airtime" mit Alex für strategischen Input sichern.
+* Start der Tests zur KI-gestützten Dateizuordnung für die Knowledge Base.
---
## 📁 Content Generator (create content around a product) (00:15)
### 🏆 Major Milestones
-* Ein vollständiger Entwurf der Case Study "DJH Waldbröl / Panarbora" (case_study_djh_waldbröl.md) wurde erstellt.
-* Die Case Study orientiert sich an der Referenz "ASB Casa Vital" und nutzt den "Challenger Sale"-Ansatz.
-* Der Inhalt fokussiert auf die Entlastung durch Gausium Phantas und den Ausblick auf MT1 Max.
+* Vollständiger Entwurf der Case Study "DJH Waldbröl / Panarbora" erstellt (case_study_djh_waldbröl.md).
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Die Validierung der "ZDF"-Zahlen (Zeiteinsparung, Wasser) sowie die Freigabe eines fiktiven Zitats durch Bernd Claessen sind noch ausstehend.
+* Der Case Study-Entwurf orientiert sich an der Referenz "ASB Casa Vital" (Struktur: Herausforderung -> Lösung -> Ergebnisse).
+* Inhaltlich wurde ein "Challenger Sale"-Ansatz mit Fokus auf Personalmangel und Entlastung durch Gausium Phantas gewählt.
### 🚀 Nächste Schritte / Offene To-Dos
* Review des Entwurfs durch Sebastian Hosbach.
-* Ergänzung von Bildmaterial.
-* Finalisierung der "Zahlen, Daten, Fakten" mit realen Werten aus dem Pilotprojekt.
+* Validierung und Finalisierung der "ZDF"-Zahlen (Zeiteinsparung, Wasser) mit realen Werten aus dem Pilotprojekt.
+* Ergänzung von Bildmaterial und Freigabe des fiktiven Zitats durch Bernd Claessen.
---
diff --git a/LATEST_WEEKLY_SUMMARY.md b/LATEST_WEEKLY_SUMMARY.md
index e476ea67..0561df56 100644
--- a/LATEST_WEEKLY_SUMMARY.md
+++ b/LATEST_WEEKLY_SUMMARY.md
@@ -2,6 +2,15 @@
**Gesamte investierte Zeit der Woche:** 65:59
+## 🌟 Top Highlights der Woche
+- 🚀 **GTM Engine Stack**: Der gesamte GTM Engine Stack mit 10 Microservices ist stabilisiert, produktionsreif und bereit für den finalen Umzug, was eine robuste Basis für unsere Marketing-Automatisierung schafft.
+- 🚀 **Lead-Engine**: Ein vollautomatischer "Zero-Touch"-Workflow für Leads inklusive einer eigenständigen Terminbuchungs-Engine wurde erfolgreich implementiert, um die Lead-Verarbeitung und Kalenderintegration zu beschleunigen.
+- 🚀 **Superoffice API**: Der API Connector ist erfolgreich auf dem Produktivsystem ausgerollt, inklusive robuster Webhook-Infrastruktur und einem Dashboard 2.0 für verbesserte Transparenz der Datenflüsse.
+- 🚀 **Company Explorer**: Ein KI-gestütztes End-to-End-System zur automatischen Jobrollen-Klassifizierung wurde implementiert, das die Datenqualität im Contact Enrichment signifikant verbessert und manuelle Pflege reduziert.
+- 🚀 **Roboplanet**: Das strategische "Maschinen-Projekt" zur Marketing-Automatisierung macht sehr gute Fortschritte und wird in den nächsten 1-2 Wochen produktiv erwartet, mit klaren 100-Tage-Zielen.
+
+---
+
## ⏱️ Zeitverteilung & Fokus
```mermaid
pie title Zeitverteilung nach Projekten (in Stunden)
@@ -36,99 +45,92 @@ Content Generator (create.. | 00:15 |
## 📁 Umzug Synology → Wackler IT (29:59)
### 🏆 Major Milestones
-* Der gesamte GTM Engine Microservice-Stack (10 Dienste) wurde erfolgreich integriert, stabilisiert und produktionsreif gemacht, inklusive robustem Docker-Setup (benannte Volumes, Healthchecks, Nginx-Routing).
-* Umfassende Sicherheitshärtung implementiert, einschließlich der Entfernung sensibler Daten aus der Git-Historie und der Zentralisierung aller API-Schlüssel in der `.env`-Datei.
-* Kritische Dienste wie Company Explorer, SuperOffice Connector und Lead Engine wurden vollständig repariert, stabilisiert und mit neuen Funktionen (z.B. Echo Shield, Kalenderlogik) erweitert.
-* Die Projektdokumentation wurde komplett überarbeitet und strukturiert, ergänzt durch die Implementierung automatisierter Integrationstests für die wichtigsten Backend-Dienste.
+* **Full GTM Engine Stack Stabilisiert & Produktionsreif:** Alle 10 Microservices (inkl. Company Explorer, Connector, Lead Engine, GTM Architect, B2B Assistant, Content Engine, Competitor Analysis, Transcription Tool) wurden erfolgreich integriert, stabilisiert und sind über das Nginx-Gateway erreichbar.
+* **Architektur gehärtet & Sicher:** Umstellung auf benannte Docker Volumes für alle Datenbanken, Implementierung von Docker Healthchecks und zentrales Secrets Management über `.env` zur Vermeidung von Berechtigungsproblemen und für robusten Start.
+* **Migrationsbereitschaft hergestellt:** Umfassende Dokumentationsüberarbeitung (RELOCATION.md, INFRASTRUCTURE.md), Konfiguration von "Self-Contained Images" und Implementierung automatisierter Integrationstests für kritische Backend-Dienste.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Ein strikter "Clean Slate"-Ansatz über Git und die ausschließliche Nutzung benannter Docker Volumes sind entscheidend für Datenintegrität und die Vermeidung von Berechtigungsproblemen während der Migration.
-* Entwicklung findet niemals direkt auf dem Produktivsystem statt; eine klare Trennung von Entwicklungs- und Produktionsumgebungen mit konfigurierbaren Sicherheitsmechanismen ist zwingend erforderlich.
+* **Strikte Dev/Prod-Trennung:** Entwicklung findet niemals direkt auf dem Produktivsystem statt; klare Richtlinien für sichere Webhook- und E-Mail-Handhabung wurden etabliert.
+* **Datenpersistenz & Sicherheit:** Ausschließlich benannte Docker Volumes für kritische Daten und `.env` für alle sensiblen Zugangsdaten, um Datenverlust und Permission-Probleme zu verhindern.
### 🚀 Nächste Schritte / Offene To-Dos
-* Finaler Umzug des gesamten GTM Engine Stacks auf die `docker1` Ubuntu VM, inklusive Klonen des Repositories, Kopieren der `.env`-Datei und Wiederherstellung der Docker Volumes.
-* Durchführung eines finalen Backups aller Docker Volumes gemäß der `RELOCATION.md` vor dem Umzug.
-* Überprüfung und Genehmigung der aktualisierten `RELOCATION.md`, insbesondere der neuen Abschnitte zu Entwicklungs-Workflows und Single-Host-Setup.
+* **Finaler Umzug auf `docker1` VM:** Klonen des Repos, Kopieren der `.env`, Wiederherstellen der gesicherten Docker Volumes und Starten des gesamten Stacks auf der Ziel-VM.
+* **Volume Backup durchführen:** Ausführung der in `RELOCATION.md` dokumentierten Backup-Befehle zur Sicherung aller Docker Volumes vor dem Umzug.
+* **Überprüfung der `RELOCATION.md`:** Gründliche Prüfung der aktualisierten Migrationsdokumentation durch den Benutzer zur Genehmigung der Strategie.
---
## 📁 Superoffice API (14:28)
### 🏆 Major Milestones
-* **Produktivsystem stabilisiert & einsatzbereit:** Der Superoffice API Connector läuft stabil auf dem produktiven Mandanten (Cust26720). Kritische Endlosschleifen wurden durch Circuit Breaker und Whitelist-Filter behoben.
-* **End-to-End-Datenanreicherung verifiziert:** Erfolgreiche Anreicherung von Testdaten (z.B. "Bremer Abenteuerland") in der Produktion bestätigt.
-* **Dashboard & Monitoring verbessert:** Das Dashboard bietet nun eine übersichtlichere Job-Gruppierung, detailliertere Statusmeldungen (inkl. `SKIPPED`) und eine verbesserte Transparenz.
-* **Infrastruktur optimiert:** Docker-Build-Zeiten wurden durch Multi-Stage-Builds von über 8 Minuten auf wenige Sekunden reduziert.
+* **Produktionsstart & Stabilität:** Der Superoffice API Connector wurde erfolgreich auf dem produktiven Mandanten Cust26720 ausgerollt, inklusive robuster Webhook-Infrastruktur und umfassendem Endlosschleifen-Schutz (Circuit Breaker, Whitelist-Filter).
+* **Verbesserte Transparenz:** Das Dashboard 2.0 wurde implementiert, bietet nun Sync-Run Clustering, einen `SKIPPED`-Status für ignorierte Webhooks und eine verbesserte Status-Priorisierung.
+* **Infrastruktur-Optimierung:** Docker-Build-Zeiten wurden durch Multi-Stage-Builds von über 8 Minuten auf wenige Sekunden reduziert und die finalen Images massiv verschlankt.
+* **Gezielte Datenverarbeitung:** Eine Mandanten-Filterung wurde implementiert, um die Verarbeitung auf relevante Roboplanet-Accounts zu beschränken und fehlerhafte Datenanreicherung zu verhindern.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* **E-Mail-Versand erfordert Admin-Rechte:** Der API-User benötigt eine verknüpfte Personalkarte und die Rolle "Mailing Administrator" im SuperOffice-Backend für den nativen E-Mail-Versand. Ein Workaround (E-Mails als Termine) wurde verifiziert.
-* **Herausforderungen bei Sales-Daten:** Produktinformationen in SuperOffice Sales sind oft unstrukturiert (Freitext) und nicht konsistent mit Kontakten verknüpft, was die Report-Erstellung erschwert.
+* **E-Mail-Versand blockiert:** Der direkte E-Mail-Versand über die SuperOffice API ist aktuell blockiert, da dem API-User eine verknüpfte Personalkarte und die Rolle "Mailing Administrator" fehlen. Ein Workaround (E-Mails als Termin-Aktivitäten) wurde erfolgreich getestet.
+* **Sales Datenqualität:** Produktinformationen in SuperOffice Sales sind oft unstrukturiert (Freitext) und nicht konsistent mit Kontakten verknüpft, was die automatisierte Berichterstellung erschwert.
### 🚀 Nächste Schritte / Offene To-Dos
-* **Meeting mit SuperOffice:** Klärung und Freischaltung der API-User-Identität und Mailing-Rechte für nativen E-Mail-Versand.
-* **Umstellung auf nativen E-Mail-Versand:** Nach Freigabe der Rechte den Termin-Workaround deaktivieren und den echten Versand aktivieren.
-* **Sales-Datenanalyse fortsetzen:** Untersuchung der leeren Reports und Verfeinerung der Produkt-Keywords zur Verbesserung der Sales-Berichterstattung.
+* **SuperOffice Meeting (Montag):** Klärung der API-User-Identität und Freischaltung der Mailing-Rechte ("Send As" Berechtigung) mit dem SuperOffice Support.
+* **Umstellung auf nativen E-Mail-Versand:** Aktivierung des echten E-Mail-Versands via `/Shipment`, sobald die notwendigen Rechte freigegeben sind.
+* **Sales Data Analyse:** Weitere Untersuchung der Sales-Entität zur Verbesserung der Produktzuordnung und Report-Erstellung, insbesondere bei unstrukturierten Daten.
---
## 📁 Lead-Engine: Tradingtwins (11:47)
### 🏆 Major Milestones
-* **Vollautomatischer Lead-Verarbeitungsworkflow:** Ein "Zero-Touch"-System für Trading Twins Anfragen wurde implementiert, das Leads nach CE-Analyse automatisch verarbeitet.
-* **Human-in-the-Loop & Direkte Terminbuchung:** Eine Teams-Integration mit Adaptive Cards ermöglicht Elizabeta die Freigabe/Stopp des E-Mail-Versands (5-Minuten-Timeout). Eine eigene "Direct Calendar Booking"-Engine wurde entwickelt, die freie Slots scannt und One-Click-Buchungen mit automatischen Outlook-Einladungen ermöglicht.
-* **Erweiterte Lead-Ingestion & UI:** Die Lead Engine verarbeitet nun auch Roboplanet Kontaktformulare. Das Streamlit-Dashboard wurde mit visuellen Unterscheidungen, Synchronisationsstatus und Warnungen für Low-Quality Leads verbessert.
-* **Sichere Microsoft Graph API Integration:** Die Authentifizierung gegen die Microsoft Graph API wurde erfolgreich implementiert, inklusive einer Dual-App Security Architektur für E-Mail-Versand und Kalenderzugriff.
+* **Erweiterte Lead-Ingestion & Parsing**: Die Lead Engine wurde erweitert, um Leads von Tradingtwins und Roboplanet Kontaktformularen automatisch zu erfassen, zu parsen und deren Qualität zu bewerten.
+* **Vollautomatischer Workflow mit Human-in-the-Loop**: Ein "Zero-Touch"-Workflow für Tradingtwins-Anfragen wurde implementiert, ergänzt durch eine Teams-basierte Freigabeoption für Elizabeta mit automatischem Versand nach 5 Minuten.
+* **Eigenständige Terminbuchungs-Engine**: Eine "Direct Calendar Booking"-Engine wurde entwickelt, die freie Slots in Elizabetas Kalender findet, One-Click-Buchungslinks generiert und automatische Outlook-Kalendereinladungen (von info@) inklusive Teams-Meeting-Links versendet.
+* **Sichere MS Graph API Integration**: Die Integration der Microsoft Graph API für E-Mail-Versand und Kalenderoperationen wurde mit einer Dual-App-Sicherheitsarchitektur (Info-App, Calendar-App) erfolgreich umgesetzt.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* **Abkehr von MS Bookings API:** Aufgrund von Lizenz- und Berechtigungsproblemen wurde eine eigene, robustere "Direct Calendar Booking"-Logik entwickelt.
-* **Umgang mit Exchange AppOnly AccessPolicy:** Der Zugriff auf fremde Kalender wurde durch eine Einladungs-Logik umgangen, da die AppOnly AccessPolicy dies blockiert.
+* **Abkehr von MS Bookings API**: Aufgrund technischer Einschränkungen und fehlender Lizenzierung wurde die Entscheidung getroffen, eine eigene, robustere Terminbuchungslogik zu entwickeln.
+* **Umgang mit Exchange AppOnly AccessPolicy**: Der Zugriff auf fremde Kalender wurde durch eine intelligente Einladungs-Logik umgangen, um die Beschränkungen der Exchange AppOnly AccessPolicy zu adressieren.
### 🚀 Nächste Schritte / Offene To-Dos
-* **Race-Condition-Schutz bei Überbuchung:** Implementierung eines "Live-Checks" im Feedback-Server, um den Kalender vor einer Buchung in Echtzeit zu prüfen und Alternativtermine vorzuschlagen.
-* **Integration der Buchungs-Seiten in WordPress:** Umsetzung der Einbettung von Termin-Bestätigungsseiten in robo-planet.de, beginnend mit einer iFrame-Lösung, gefolgt von einer nativen API-Integration.
-* **Go-Live Vorbereitungen:** Finalisierung von IT-Berechtigungen (Azure App-Credentials), Teams Webhook, Content (HTML-Signatur, Banner) und Nginx-Konfiguration.
+* **Race-Condition-Schutz**: Implementierung eines "Live-Checks" im Feedback-Server zur Echtzeitprüfung des Kalenders vor Buchungen, um Überbuchungen zu vermeiden.
+* **WordPress-Integration**: Umsetzung der Einbettung von Termin-Bestätigungsseiten in robo-planet.de, beginnend mit einer iFrame-Lösung, gefolgt von einer nativen API-Integration.
---
## 📁 Company Explorer (Account + Contact Enrichment) (04:28)
### 🏆 Major Milestones
-* **Initial AI-gestützte Rollenzuordnung & Admin-UI:** Ein zentraler `RoleMappingService` mit KI-Fallback wurde implementiert und in den SuperOffice-Workflow integriert. Die Admin-Oberfläche für Jobrollen wurde umfassend überarbeitet, inklusive Batch-Klassifizierung und direkter Bearbeitung.
-* **Skalierbare Regex-Muster-Optimierung:** Ein KI-gestützter "Pattern Optimizer" wurde entwickelt, der hunderte von Einzelregeln automatisch zu mächtigen Regex-Mustern konsolidiert, inklusive Konfliktprüfung und Fehlerkorrektur.
-* **Verbesserte Usability & Datenmanagement:** Eine Regex-Sandbox zum Testen von Mustern, Smart Suggestions und Funktionen zum Import/Export der Jobrollen-Datenbank (inkl. automatischem Backup) wurden hinzugefügt.
+* **Vollständiges Jobrollen-Klassifizierungssystem:** Ein End-to-End-System zur automatischen Zuordnung von Jobtiteln zu Rollen wurde implementiert, inklusive Datenbank, Backend-Services, SuperOffice-Integration und Batch-KI-Klassifizierung.
+* **KI-gestützte Regex-Musteroptimierung:** Eine intelligente KI-Engine wurde entwickelt, die Einzelregeln automatisch zu effizienten Regex-Mustern konsolidiert und Konflikte prüft, um die manuelle Pflege zu minimieren.
+* **Umfassendes Admin-UI für Rollenmanagement:** Das Admin-Interface wurde stark erweitert, um die Verwaltung, das Testen (Regex Sandbox) und den Import/Export von Jobrollen-Mustern zu ermöglichen.
-### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Die initiale Implementierung der Persona-Segmentierung und der zugehörigen UI-Verbesserungen ist erfolgreich abgeschlossen.
-* Das System ist nun bereit für die Transformation zu einem massiv skalierbaren, KI-gestützten Regex-System zur Rollen-Optimierung, um die manuelle Pflege drastisch zu reduzieren.
+### 🚀 Nächste Schritte / Offene To-Dos
+* Start des massenhaften Refactorings der bestehenden Rollen-Logik zur Reduzierung des manuellen Pflegeaufwands.
---
## 📁 General Maintenance (03:52)
-Guten Morgen zusammen,
-
-hier ist eine kurze Zusammenfassung der Fortschritte im Projekt "General Maintenance" für die vergangene Woche (03:52 Stunden investiert):
-
### 🏆 Major Milestones
-* **Vollständige Stack-Integration:** Alle 10 Microservices wurden erfolgreich in den Docker-Stack integriert und über das Nginx-Gateway verfügbar gemacht.
-* **Dokumentations-Restrukturierung:** Die Projektdokumentation wurde umfassend überarbeitet, mit einer schlanken `readme.md` und ausgelagerten technischen Details.
-* **Automatisierte Qualitätssicherung:** Eine Test-Infrastruktur für die vier kritischsten Backend-Dienste wurde implementiert und sichert deren Kernlogik ab.
-* **Systemstabilität:** Kritische Fehler (z.B. 502 Bad Gateway, Restart-Loops) wurden behoben, wodurch alle Dienste nun stabil und "healthy" laufen.
+* Vollständige Integration von 10 Microservices in den Docker-Stack und Verfügbarkeit über Nginx-Gateway.
+* Umfassende Restrukturierung der Projektdokumentation für verbesserte Übersichtlichkeit.
+* Implementierung einer automatisierten Test-Infrastruktur für 4 kritische Backend-Dienste.
+* Signifikante Erhöhung der Systemstabilität durch Behebung kritischer Fehler und unhealthy Status.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* **Dokumentationsstrategie:** Aktives Wissen wird direkt in den Microservice-Dokumentationen gepflegt, während Legacy-Informationen archiviert werden.
-* **Teststrategie:** Fokus auf schnelle API-Integrationstests mit gemockten externen Diensten zur effizienten Validierung der Kernlogik.
+* Strategie zur Dokumentation festgelegt: Aktives Wissen in Microservice-Doku, Altdaten archiviert.
+* Test-Strategie für schnelle API-Integrationstests mit gemockten externen Diensten definiert.
### 🚀 Nächste Schritte / Offene To-Dos
-* **Finaler Umzug:** Physische Übertragung des Projekts auf die `docker1` VM gemäß dem `RELOCATION.md` Plan.
-* **Backup der neuen Volumes:** Durchführung der Backup-Befehle aus `RELOCATION.md` vor dem Umzug, um alle Daten zu sichern.
+* Finaler Umzug des Projekts auf die docker1 VM gemäß RELOCATION.md.
+* Durchführung des Backups der neuen Volumes vor dem Umzug.
---
## 📁 Konver.ai (00:45)
### 🏆 Major Milestones
-* Strategie für Konver.ai-Nutzung auf "Smart Enricher" für gezielte Personensuche präzisiert.
-* Kommunikationsvorlagen für interne und externe Anfragen erstellt.
-* Alle strategischen Überlegungen und Vorlagen in `KONVER_STRATEGY.md` dokumentiert.
+* Strategie für Konver.ai-Nutzung auf gezielte Personensuche ("Smart Enricher") präzisiert.
+* Interne und externe Kommunikations-Vorlagen für API-Anfragen erstellt.
+* Alle strategischen Überlegungen in `KONVER_STRATEGY.md` dokumentiert.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Kritische Integrationshindernisse identifiziert: Fehlende Deduplizierung und unklare API-Antwortzeiten.
+* Kritische Integrationsrisiken (fehlende Deduplizierung, unklare Antwortzeiten) identifiziert.
### 🚀 Nächste Schritte / Offene To-Dos
* Interne Klärung von Budget, Einsatzszenario und technischer Architektur.
@@ -141,28 +143,27 @@ hier ist eine kurze Zusammenfassung der Fortschritte im Projekt "General Mainten
* Das "Maschinen-Projekt" (Marketing-Automatisierung) macht gute Fortschritte und wird in 1-2 Wochen produktiv erwartet.
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Vier 100-Tage-Ziele für das Projekt "Start @ Roboplanet" wurden definiert und vereinbart.
-* Die strategische Bedeutung von KI-Agenten für Roboplanet wurde von Axel betont.
+* Vier 100-Tage-Ziele für das Projekt wurden definiert und vereinbart (Fokus auf Marketing-Automatisierung, Lead-Generierung, Webshop-Vorbereitung, Knowledge Base).
+* Die strategische Bedeutung von KI-Agenten für Roboplanet wurde bestätigt; die Erreichbarkeit von Alex (Sales Lead) für Input zu "Verticals" ist jedoch eine Herausforderung.
### 🚀 Nächste Schritte / Offene To-Dos
-* Lösung der Mailversand-Hürden mit SuperOffice (Fabio) für die Marketing-Automatisierung.
-* Zugang zum Miro-Board von Alex erhalten und erste Tests zur KI-gestützten Dateizuordnung für die Knowledge Base starten.
-* Intensivierung des Austauschs mit Alex (Sales Lead) zur Definition der "Verticals" und für Reality Checks.
+* Lösung der Mailversand-Hürden mit SuperOffice (Fabio).
+* Zugang zu Alex' Miro-Board erhalten und mehr "Airtime" mit Alex für strategischen Input sichern.
+* Start der Tests zur KI-gestützten Dateizuordnung für die Knowledge Base.
---
## 📁 Content Generator (create content around a product) (00:15)
### 🏆 Major Milestones
-* Ein vollständiger Entwurf der Case Study "DJH Waldbröl / Panarbora" (case_study_djh_waldbröl.md) wurde erstellt.
-* Die Case Study orientiert sich an der Referenz "ASB Casa Vital" und nutzt den "Challenger Sale"-Ansatz.
-* Der Inhalt fokussiert auf die Entlastung durch Gausium Phantas und den Ausblick auf MT1 Max.
+* Vollständiger Entwurf der Case Study "DJH Waldbröl / Panarbora" erstellt (case_study_djh_waldbröl.md).
### 💡 Wichtige Beschlüsse / Erkenntnisse
-* Die Validierung der "ZDF"-Zahlen (Zeiteinsparung, Wasser) sowie die Freigabe eines fiktiven Zitats durch Bernd Claessen sind noch ausstehend.
+* Der Case Study-Entwurf orientiert sich an der Referenz "ASB Casa Vital" (Struktur: Herausforderung -> Lösung -> Ergebnisse).
+* Inhaltlich wurde ein "Challenger Sale"-Ansatz mit Fokus auf Personalmangel und Entlastung durch Gausium Phantas gewählt.
### 🚀 Nächste Schritte / Offene To-Dos
* Review des Entwurfs durch Sebastian Hosbach.
-* Ergänzung von Bildmaterial.
-* Finalisierung der "Zahlen, Daten, Fakten" mit realen Werten aus dem Pilotprojekt.
+* Validierung und Finalisierung der "ZDF"-Zahlen (Zeiteinsparung, Wasser) mit realen Werten aus dem Pilotprojekt.
+* Ergänzung von Bildmaterial und Freigabe des fiktiven Zitats durch Bernd Claessen.
---
diff --git a/scripts/generate_weekly_summary.py b/scripts/generate_weekly_summary.py
index 20acdd83..b374d624 100644
--- a/scripts/generate_weekly_summary.py
+++ b/scripts/generate_weekly_summary.py
@@ -63,6 +63,49 @@ def extract_status_updates(content: str, cutoff_date: datetime.datetime) -> List
return updates
+def generate_global_executive_summary(api_key: str, all_project_summaries: str) -> str:
+ """Uses Gemini REST API to extract the top global highlights of the week."""
+ if not api_key:
+ return ""
+
+ url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key={api_key}"
+ headers = {'Content-Type': 'application/json'}
+
+ prompt = f"""
+Du bist der CTO, der am Montagmorgen ein kurzes Management-Briefing (Executive Summary) für die Geschäftsführung gibt.
+Hier sind die bereits aufbereiteten Meilensteine aller Projekte der letzten Woche:
+
+
+{all_project_summaries}
+
+
+Deine Aufgabe:
+Fasse die 3 bis maximal 5 ABSOLUT WICHTIGSTEN, übergreifenden "Major Milestones" und Fortschritte der *gesamten Woche* extrem komprimiert und stichpunktartig zusammen.
+Fokussiere dich auf den echten "Business Value", ausgelieferte Features oder große technische Durchbrüche.
+
+Verwende folgendes Format (starte direkt mit den Bullet-Points):
+- 🚀 **[Kurzer Titel/Projekt]**: [1 Satz mit dem Kern-Ergebnis]
+- 💡 **[Erkenntnis/Entscheidung]**: [1 Satz]
+- ...
+
+Schreibe keinen einleitenden Text und kein Fazit. Nur diese prägnanten, professionellen Bullet-Points.
+"""
+
+ payload = {
+ "contents": [{"parts": [{"text": prompt}]}],
+ "generationConfig": {"temperature": 0.2}
+ }
+
+ try:
+ response = requests.post(url, headers=headers, json=payload, timeout=30)
+ response.raise_for_status()
+ data = response.json()
+ summary = data['candidates'][0]['content']['parts'][0]['text']
+ return summary.strip()
+ except Exception as e:
+ print(f"Fehler bei der globalen Executive Summary: {e}")
+ return ""
+
def summarize_with_gemini(api_key: str, project_name: str, total_hours: float, raw_updates: str) -> str:
"""Uses Gemini REST API to summarize the project updates."""
if not api_key:
@@ -211,7 +254,34 @@ def main():
report_data[project_name]["invested_hours"] += update["invested_hours"]
report_data[project_name]["tasks"][task_name].append(update)
- # 3. Generate Markdown Report (AI Summarized)
+ if not report_data:
+ print("Keine Status-Updates in den letzten 7 Tagen gefunden.")
+ return
+
+ # 3. Process Individual Project Summaries
+ project_summaries = {}
+ for project_name, p_data in sorted(report_data.items(), key=lambda x: x[1]['invested_hours'], reverse=True):
+ print(f"Fasse zusammen (AI): {project_name} ...")
+
+ raw_updates_text = ""
+ for task_name, updates in p_data["tasks"].items():
+ raw_updates_text += f"\nTASK: {task_name}\n"
+ for update in sorted(updates, key=lambda x: x['date']):
+ raw_updates_text += f"UPDATE ({update['date']}):\n{update['summary']}\n"
+
+ ai_summary = summarize_with_gemini(gemini_key, project_name, p_data['invested_hours'], raw_updates_text)
+ project_summaries[project_name] = ai_summary
+
+
+ # 4. Generate Global Executive Summary
+ print("Erstelle globale Executive Summary...")
+ combined_summaries = ""
+ for proj_name, summ in project_summaries.items():
+ combined_summaries += f"\nProjekt: {proj_name}\n{summ}\n"
+
+ global_executive_summary = generate_global_executive_summary(gemini_key, combined_summaries)
+
+ # 5. Build Markdown Report
report_lines = []
report_lines.append(f"# 📊 Executive Weekly Summary ({cutoff_date.strftime('%Y-%m-%d')} bis {now.strftime('%Y-%m-%d')})")
report_lines.append("")
@@ -220,33 +290,28 @@ def main():
report_lines.append(f"**Gesamte investierte Zeit der Woche:** {format_time(total_hours)}")
report_lines.append("")
- if not report_data:
- report_lines.append("*Keine Status-Updates in den letzten 7 Tagen gefunden.*")
- else:
- # Add Graphical time distribution
- report_lines.append("## ⏱️ Zeitverteilung & Fokus")
- report_lines.append(generate_mermaid_pie(report_data))
- report_lines.append("\nText-basierte Zeitverteilung (Fallback)
\n")
- report_lines.append(generate_ascii_bar_chart(report_data))
- report_lines.append("\n \n")
- report_lines.append("---")
+ # Global Summary
+ if global_executive_summary:
+ report_lines.append("## 🌟 Top Highlights der Woche")
+ report_lines.append(global_executive_summary)
+ report_lines.append("\n---")
report_lines.append("")
- for project_name, p_data in sorted(report_data.items(), key=lambda x: x[1]['invested_hours'], reverse=True):
- print(f"Fasse zusammen (AI): {project_name} ...")
- report_lines.append(f"## 📁 {project_name} ({format_time(p_data['invested_hours'])})")
-
- # Combine all raw texts for the project to send to Gemini
- raw_updates_text = ""
- for task_name, updates in p_data["tasks"].items():
- raw_updates_text += f"\nTASK: {task_name}\n"
- for update in sorted(updates, key=lambda x: x['date']):
- raw_updates_text += f"UPDATE ({update['date']}):\n{update['summary']}\n"
-
- ai_summary = summarize_with_gemini(gemini_key, project_name, p_data['invested_hours'], raw_updates_text)
- report_lines.append(ai_summary)
- report_lines.append("\n---")
- report_lines.append("")
+ # Graphical time distribution
+ report_lines.append("## ⏱️ Zeitverteilung & Fokus")
+ report_lines.append(generate_mermaid_pie(report_data))
+ report_lines.append("\nText-basierte Zeitverteilung (Fallback)
\n")
+ report_lines.append(generate_ascii_bar_chart(report_data))
+ report_lines.append("\n \n")
+ report_lines.append("---")
+ report_lines.append("")
+
+ # Individual Projects
+ for project_name, p_data in sorted(report_data.items(), key=lambda x: x[1]['invested_hours'], reverse=True):
+ report_lines.append(f"## 📁 {project_name} ({format_time(p_data['invested_hours'])})")
+ report_lines.append(project_summaries[project_name])
+ report_lines.append("\n---")
+ report_lines.append("")
report_content = "\n".join(report_lines)