wiki/c-work/4-done/2026-04-demo2-merged-customer-trustee-plan.md
2026-06-02 09:42:12 +02:00

318 lines
20 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- status: plan -->
<!-- started: 2026-04-14 -->
<!-- component: gateway | ui-nyla | platform -->
<!-- merged-from: 2026-04-customer-trustee-demo-enablement.md, 2026-04-customer-trustee-tooling-and-demo-prep.md -->
# Demo2 — Merged Plan: Customer Demo Enablement + Trustee Tooling
## Beschreibung und Kontext
Zusammenführung der beiden Pläne:
- **Customer Demo Enablement** (Bling, PWG, Quid/ServiceHunter) — Analyse-Use-Cases, Prompt-Templates, CommCoach, Neutralisierung
- **Trustee Tooling Overhaul & PWG Demo Preparation** — Agent-Tools, Graph-Editor Nodes, Performance, Workflow
Drei potenzielle Kunden haben konkrete Use Cases formuliert. Parallel wurde das Trustee-Tooling grundlegend überarbeitet. Dieses Dokument konsolidiert beide Pläne und zeigt den aktuellen Umsetzungsstand gegen die Codebase.
**Kunden:**
| Kunde | Branche | Hauptinteresse | Status |
|-------|---------|----------------|--------|
| **Bling** (Kevin, Julian, Silvan) | Treuhandbüro | Belegverarbeitung, Budget, Dashboards, Mandantenmanagement | Trial geplant |
| **PWG** (Markus Brütsch) | Stiftung (Immobilien/Wohnen, 200+ Liegenschaften) | Belegverarbeitung Abacus, KI-Arbeitsplatz, Coaching, Neutralisierung | Workshop 16.04.2026 |
| **Quid/ServiceHunter** (David Christen) | SaaS/Dienstleistung | KPI-Dashboard, Zeiterfassung, Prognosen, Konsolidierung | Follow-up geplant |
**Abhängigkeiten:**
- UI-Enhancements: `c-work/1-plan/2026-04-porta-ui-enhancements-team-meeting.md`
- INT-Stabilität: `c-work/1-plan/2026-04-gateway-int-stability-and-bugfixes.md`
- Automation Unification (done): `c-work/3-validate/2026-04-automation-unification.md`
---
## Codebase-Abgleich: Was ist bereits umgesetzt?
### Legende
| Symbol | Bedeutung |
|--------|-----------|
| ✅ done | Im Code vorhanden und funktional |
| 🔧 teilweise | Grundstruktur vorhanden, Anpassung/Ergänzung nötig |
| ❌ offen | Noch nicht umgesetzt |
---
### A. Trustee Tooling (aus tooling-plan)
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| A1 | `refreshTrusteeData` / `trustee.refreshAccountingData` Action | ✅ done | `workflows/methods/methodTrustee/actions/refreshAccountingData.py` — async Action, prüft `lastSyncAt`, triggert `AccountingDataSync`, cleart Feature-Query-Cache |
| A2 | `aggregateTable` Tool im Sub-Agent | ✅ done | `serviceAgent/featureDataAgent.py` (Zeilen ~186231) + `featureDataProvider.py` — SUM/COUNT/AVG/MIN/MAX mit GROUP BY |
| A3 | Kategorie `trustee` in `nodeRegistry.py` | ✅ done | `graphicalEditor/nodeRegistry.py``{"id": "trustee", "label": "Treuhand"}` in categories-Liste |
| A4 | Node `trustee.refreshAccountingData` | ✅ done | `graphicalEditor/nodeDefinitions/trustee.py` — erster Node in `TRUSTEE_NODES`, Ports + Parameter korrekt |
| A5 | Toolbox `trustee` in `toolboxRegistry.py` | ✅ done | `serviceAgent/toolboxRegistry.py``id="trustee"`, Label "Trustee / Accounting", Tool `trustee_refreshAccountingData` |
| A6 | DB-Connection-Pooling | ✅ done | `serviceAgent/coreTools/_featureSubAgentTools.py``_featureDbConnPool` Dict, `_getOrCreateFeatureDbConnector()` |
| A7 | Sub-Agent Result-Caching | ✅ done | `coreTools/_featureSubAgentTools.py``_featureQueryCache`, TTL 300s, MD5-Key, `clearFeatureQueryCache()` nach Sync |
| A8 | Output-Chaining Fix (processDocuments) | ✅ done | `methodTrustee/actions/processDocuments.py``_resolveDocumentList()` erkennt Graph-Editor-Dicts + Chat-Fallback |
| A9 | Output-Chaining Fix (syncToAccounting) | ✅ done | `methodTrustee/actions/syncToAccounting.py``_resolveFirstDocument()` mit Dual-Path-Logik |
| A10 | Node `trustee.importAndProcess` (Convenience) | ✅ übersprungen | Bewusst übersprungen — bestehende 3 Nodes funktionieren dank Output-Chaining-Fix |
### B. Prompt-Templates & Analyse-Flows
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| B1 | Quick Actions (Budget, KPI, Cashflow, Prognose, Jahresabschluss) | ✅ done | `features/trustee/mainTrustee.py` Zeilen 260319 — 5 Quick Actions als Dashboard-Links mit `actionType: "link"` |
| B2 | Template Workflows (Graph-basiert) | ✅ done | `mainTrustee.py``TEMPLATE_WORKFLOWS` mit `_buildAnalysisWorkflowGraph()`, eingebettete deutsche Prompt-Strings für alle 5 Analyse-Typen |
| B3 | Budget-Vergleich Prompt | ✅ done | Im Code als Python-String in `mainTrustee.py` (Graph: trigger → refreshAccountingData → ai.prompt) |
| B4 | KPI-Dashboard Prompt | ✅ done | Analog zu B3 |
| B5 | Cashflow-Rechnung Prompt | ✅ done | Analog zu B3 |
| B6 | Prognose/Trend-Analyse Prompt | ✅ done | Analog zu B3 |
| B7 | Jahresabschluss-Checks Prompt | ✅ done | Analog zu B3 |
### C. Graph-Editor Workflow & Templates
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| C1 | System-Template "Treuhand: PDF-Klassifizierung & Trustee-Import" | ✅ done | `interfaces/interfaceBootstrap.py``_buildSystemTemplates()` seedet bei Bootstrap: sharepoint.listFiles → loop → readFile → ai.prompt (classify) → extractFromFiles → processDocuments |
| C2 | SharePoint-Nodes | ✅ done | `nodeDefinitions/sharepoint.py` — 6 Nodes (findFile, readFile, uploadFile, listFiles, downloadFile, copyFile) |
| C3 | Flow-Nodes (Loop etc.) | ✅ done | `nodeDefinitions/flow.py` — ifElse, switch, loop, merge, delay |
| C4 | Demo-Workflow (SharePoint → Trustee Pipeline) manuell im Editor bauen | ❌ offen | System-Template existiert (C1), aber kein dedizierter Demo-Workflow mit trigger.manual + syncToAccounting am Ende |
### D. Demo-Infrastruktur
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| D1 | Demo-Config Infrastruktur (Base + Admin API) | ✅ done | `demoConfigs/_baseDemoConfig.py`, `routes/routeAdminDemoConfig.py` — load/remove via Admin-API |
| D2 | `investorDemo2026.py` (Referenz-Template) | ✅ done | Mandanten, User, Features, Accounting-Config, Neutralisierung, Billing — vollständiges Muster |
| D3 | Demo-Mandant "Bling Demo" | ❌ offen | Kein `blingDemo2026.py` oder ähnliches |
| D4 | Demo-Mandant "PWG Demo" | ❌ offen | Kein `pwgDemo2026.py` oder ähnliches |
| D5 | Demo-Mandant "Quid Demo" | ❌ offen | Kein `quidDemo2026.py` oder ähnliches |
### E. Testdaten
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| E1 | Fiktives Mieterdossier (PDF) für Neutralisierung | ✅ done | `platform-core/demoData/neutralizer/tenant-dossier.pdf` + Generator `_generateTenantDossierPdf.py` |
| E2 | Knowledge-Base Demo-Dateien | ✅ done | `platform-core/demoData/knowledge-base/` — 4 Dateien (investor-orientiert) |
| E3 | Budget-Excel (Soll-Werte) | ❌ offen | Kein `.xlsx` im gesamten Repo |
| E4 | Musterbelege (Rechnung, Spesen, Bank, Versicherung) | ❌ offen | `demoData/invoices/`, `demoData/expenses/`, `demoData/trustee/` fehlen (Tests erwarten sie) |
| E5 | Quid-Testdaten (CSV: Umsatz, Kunden, Support) | ❌ offen | Keine kundenspezifischen CSV/Excel-Testdaten |
| E6 | Bling-Testdaten (Bexio-kompatibel) | ❌ offen | Keine Bexio-spezifischen Testdaten |
| E7 | PWG-Testdaten (Abacus-kompatibel) | ❌ offen | Keine Abacus-spezifischen Testdaten |
### F. CommCoach Immobilien-Personas
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| F1 | CommCoach Feature (Grundstruktur) | ✅ done | `features/commcoach/` — Routes, Services, AI, Personas, Gamification, Scheduler, Export, Indexer |
| F2 | Builtin-Personas (generisch) | ✅ done | `serviceCommcoachPersonas.py` — 10 Personas (Coach, CFO, Mitarbeiter, Vorstand, Kunde, etc.) |
| F3 | Persona: Mieter mit Zahlungsrückstand | ✅ done | `tenant_payment_arrears_m` in `BUILTIN_PERSONAS` |
| F4 | Persona: Mieter mit Nebenkostenfragen | ✅ done | `tenant_utility_costs_f` in `BUILTIN_PERSONAS` |
| F5 | Persona: Neuer Mieter (Einzugsfragen) | ✅ done | `new_tenant_move_in_m` in `BUILTIN_PERSONAS` |
| F6 | Persona: Schwieriger Nachbar (Lärmbeschwerde) | ✅ done | `difficult_neighbor_noise_m` in `BUILTIN_PERSONAS` |
| F7 | Persona-Seeding Mechanismus | ✅ done | `seedBuiltinPersonas()` synct `BUILTIN_PERSONAS` mit `userId: "system"` in DB |
### G. Neutralisierung
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| G1 | Neutralisierung Feature (komplett) | ✅ done | `features/neutralization/` — Routes, Services, Playground, PII-Masking, Private-LLM |
| G2 | Fiktives Mieterdossier | ✅ done | `demoData/neutralizer/tenant-dossier.pdf` |
| G3 | Demo-Flow dokumentiert | ❌ offen | Kein Schritt-für-Schritt Demo-Skript |
| G4 | Neutralisierungs-Config auf Demo-Instanz | 🔧 teilweise | `investorDemo2026.py` konfiguriert Neutralisierung für Alpina — analog für PWG nötig |
### H. Demo-Skripte & Dokumentation
| # | Item | Status | Evidenz in Codebase |
|---|------|--------|---------------------|
| H1 | Use-Case-Inputs Kunden | ✅ done | `local/notes/demo-tue-use-cases-inputs-customers.md` |
| H2 | Demo-Skript Bling | ❌ offen | |
| H3 | Demo-Skript PWG | ❌ offen | |
| H4 | Demo-Skript Quid | ❌ offen | |
| H5 | Mail-Update 12.04 | ✅ done | `local/notes/demo-tue-mail-update-2026-04-12.md` |
---
## Zusammenfassung: Was ist erledigt, was fehlt?
### Erledigt (aus beiden Plänen)
| Bereich | Items | Kommentar |
|---------|-------|-----------|
| **Trustee Agent-Tools** | A1A2 | `refreshTrusteeData` + `aggregateTable` vollständig |
| **Graph-Editor Nodes** | A3A5, A8A10 | Kategorie, Nodes, Toolbox, Output-Chaining — alles done |
| **Performance** | A6A7 | Connection-Pooling + Result-Caching implementiert |
| **Prompt-Templates** | B1B7 | Alle 5 Analyse-Typen als Quick Actions + Template Workflows in `mainTrustee.py` |
| **System-Template** | C1C3 | Bootstrap-Template für PDF-Import-Pipeline vorhanden |
| **Neutralisierung** | G1G2 | Feature komplett, Mieterdossier-PDF vorhanden |
| **CommCoach Grundstruktur** | F1F2, F7 | Feature + generische Personas + Seeding-Mechanismus |
### Offen (priorisiert nach Demo-Relevanz)
#### P0 — Blocker für PWG-Demo (16.04.2026)
| # | Item | Aufwand | Beschreibung |
|---|------|---------|-------------|
| F3F6 | CommCoach Immobilien-Personas | Klein | 4 neue Persona-Definitionen in `BUILTIN_PERSONAS` (Mieter Zahlungsrückstand, Nebenkosten, Einzug, Lärmbeschwerde) |
| D4 | Demo-Mandant "PWG Demo" | Mittel | Neues `pwgDemo2026.py` analog zu `investorDemo2026.py` — Trustee (Abacus), CommCoach, Neutralisierung, Workspace |
| G3 | Neutralisierungs-Demo-Flow | Klein | Schritt-für-Schritt Dokumentation: PDF → Neutralisierung → AI-Analyse → Re-Personalisierung |
#### P1 — Wichtig für alle Kunden-Demos
| # | Item | Aufwand | Beschreibung |
|---|------|---------|-------------|
| D3 | Demo-Mandant "Bling Demo" | Mittel | `blingDemo2026.py` — Trustee (Bexio), Workspace, Graph-Editor |
| D5 | Demo-Mandant "Quid Demo" | Klein | `quidDemo2026.py` — Workspace, Graph-Editor (kein Trustee-Connector) |
| E3 | Budget-Excel | Klein | Soll-Werte 2026 pro Konto (1015 Konten), passend zu Demo-Buchhaltungsdaten |
| E4 | Musterbelege | Klein | 35 PDFs: Handwerkerrechnung, Nebenkostenabrechnung, Bankbeleg, Versicherungsbeleg, Spesenbeleg |
| C4 | Demo-Workflow im Graph-Editor | Mittel | Dedizierter Workflow: trigger.manual → sharepoint.listFiles → loop → download → extract → process → sync |
#### P2 — Nice-to-have für erste Demos
| # | Item | Aufwand | Beschreibung |
|---|------|---------|-------------|
| E5 | Quid-Testdaten (CSV) | Klein | Umsatzdaten 6 Monate, Kundenliste mit Margen, Support-Zeiterfassung |
| E6 | Bling-Testdaten (Bexio) | Mittel | Journal, Kontoplan, Bilanz/ER im Bexio-Format |
| E7 | PWG-Testdaten (Abacus) | Mittel | Abacus-kompatible Daten (oder Sandbox-Zugang) |
| H2H4 | Demo-Skripte | Klein | Schritt-für-Schritt pro Kunde mit Notizen |
| G4 | Neutralisierungs-Config PWG | Klein | Analog zu investorDemo — in pwgDemo2026.py integrieren |
#### P4 — Explizit nicht im Scope
| Item | Grund |
|------|-------|
| Zendesk-Connector (Quid 3.2) | Zu gross, CSV-Upload-Workaround reicht |
| Gastro-Echtzeit-Integration (Bling 1.6) | Wartet auf Kevin-Input |
| Regelbasierte Konsolidierung (Quid 3.4) | Wartet auf Lars-Meeting |
| Neue Frontend-Features | Separater Plan |
| Abacus-Produktivzugang | Demo mit Sandbox/Mockdaten |
---
## Umsetzungs-Checkliste (konsolidiert, nur offene Items)
### Phase 1: PWG-Demo Vorbereitung (URGENT — Workshop 16.04)
- [x] **F3F6: CommCoach Immobilien-Personas** in `serviceCommcoachPersonas.py``BUILTIN_PERSONAS`
- Persona `tenant_payment_arrears_m`: René Bachmann, 3 Monate Rückstand, defensiv, Ratenzahlung möglich
- Persona `tenant_utility_costs_f`: Fatima El-Amin, Nebenkostenabrechnung unklar, emotional, braucht geduldige Erklärung
- Persona `new_tenant_move_in_m`: Luca Steiner, Erstbezug, viele Fragen, kooperativ
- Persona `difficult_neighbor_noise_m`: Kurt Zürcher, Lärmprotokoll, droht mit Mietminderung, Deeskalation nötig
- [ ] **D4: Demo-Config `pwgDemo2026.py`** in `platform-core/modules/demoConfigs/`
- Mandant "PWG Demo" mit Features: Trustee (Abacus), CommCoach, Neutralisierung, Workspace, Graph-Editor
- Demo-User mit passenden Rollen
- Neutralisierungs-Config analog zu investorDemo
- Billing/Trial-Modus
- [ ] **G3: Neutralisierungs-Demo-Flow** dokumentieren (Markdown in `local/notes/`)
- Schritt 1: Mieterdossier-PDF hochladen
- Schritt 2: Neutralisierung zeigen (Namen → Platzhalter)
- Schritt 3: Neutralisierten Text an AI → Analyse
- Schritt 4: Re-Personalisierung demonstrieren
### Phase 2: Bling & Quid Demo-Configs
- [ ] **D3: Demo-Config `blingDemo2026.py`**
- Mandant "Bling Demo" mit Features: Trustee (Bexio), Workspace, Graph-Editor
- 23 Demo-User (Admin, Buchhalter, Mandant)
- [ ] **D5: Demo-Config `quidDemo2026.py`**
- Mandant "Quid Demo" mit Features: Workspace, Graph-Editor
- Kein Trustee-Connector (Daten via CSV/Excel-Upload)
### Phase 3: Testdaten & Musterbelege
- [ ] **E3: Budget-Excel** erstellen
- Soll-Werte 2026, 1015 Konten, passend zu Demo-Buchhaltungsdaten
- Ablage: `platform-core/demoData/trustee/budget-2026.xlsx`
- [ ] **E4: Musterbelege** (PDFs) erstellen
- Handwerkerrechnung, Nebenkostenabrechnung, Bankbeleg, Versicherungsbeleg, Spesenbeleg
- Ablage: `platform-core/demoData/invoices/`, `platform-core/demoData/expenses/`
- [ ] **E5: Quid-Testdaten** (CSV)
- Umsatzdaten 6 Monate, Kundenliste mit Margen, Support-Zeiterfassung
- Ablage: `platform-core/demoData/quid/`
### Phase 4: Demo-Workflow & Skripte
- [ ] **C4: Demo-Workflow** im Graph-Editor bauen
- trigger.manual → sharepoint.listFiles → flow.loop → sharepoint.downloadFile → trustee.extractFromFiles → trustee.processDocuments → trustee.syncToAccounting
- Als System-Template speichern (`templateScope: system`)
- Testen mit Musterbelegen aus E4
- [ ] **H2: Demo-Skript Bling** — Schritt-für-Schritt
- [ ] **H3: Demo-Skript PWG** — Schritt-für-Schritt
- [ ] **H4: Demo-Skript Quid** — Schritt-für-Schritt
### Querschnitt-Checks
- [ ] API-Endpunkte: keine neuen nötig
- [ ] DB-Schema / Migration: nein
- [ ] Frontend-Komponenten: nein (separater Plan)
- [ ] RBAC / Permissions: Demo-User mit passenden Rollen
- [ ] Billing-Impact: Demo-Mandanten brauchen Trial-Modus / Guthaben
---
## Akzeptanzkriterien (konsolidiert)
| # | Kriterium (Given-When-Then) | Prio | Quelle | Status |
|---|---------------------------|------|--------|--------|
| 1 | Given Trustee-Instanz mit Abacus-Config, When Agent `refreshTrusteeData` aufruft, Then werden Daten importiert und Summary zurückgegeben | must | Tooling A1 | ✅ implementiert |
| 2 | Given gecachte Daten (lastSyncAt < 1h), When Agent `refreshTrusteeData` ohne `forceRefresh` aufruft, Then kein externer Sync | must | Tooling A2 | implementiert |
| 3 | Given Trustee-Daten, When Sub-Agent `aggregateTable` mit SUM/GROUP BY aufruft, Then korrekte Aggregationen | must | Tooling A2 | implementiert |
| 4 | Given identische Query innerhalb 5 Min, When `queryFeatureInstance` erneut, Then gecachtes Ergebnis | should | Tooling A7 | implementiert |
| 5 | Given Graphical Editor, When Node-Palette geladen, Then Kategorie "Treuhand" mit allen Trustee-Nodes | must | Tooling A3 | implementiert |
| 6 | Given Workflow mit SharePoint Trustee Pipeline, When manuell gestartet, Then PDFs extrahiert und synced | must | Tooling C4 | Workflow noch nicht gebaut |
| 7 | Given Trustee-Pipeline im Flow, When Output-Chaining, Then documentList korrekt aufgelöst | must | Tooling A8A9 | implementiert |
| 8 | Given Budget-Excel + Trustee-Daten, When Budgetkontrolle-Prompt, Then Soll/Ist-Vergleich mit Charts | must | Demo B3 | 🔧 Prompt done, Budget-Excel fehlt |
| 9 | Given Bling-Demo-Mandant, When KPI-Dashboard-Prompt, Then 3+ Kennzahlen-Charts | must | Demo B4 | 🔧 Prompt done, Demo-Mandant fehlt |
| 10 | Given PWG-Demo mit CommCoach, When Session mit "Mieter Zahlungsrückstand", Then realistischer Immobilien-Dialog | must | Demo F3 | Persona implementiert |
| 11 | Given PWG-Demo mit Neutralisierung, When Mieterdossier hochgeladen, Then PII neutralisiert + re-personalisiert | must | Demo G1G2 | 🔧 Feature done, Demo-Config fehlt |
| 12 | Given Quid-Demo mit CSV-Upload, When KPI-Analyse, Then Margen- und Support-Charts | should | Demo E5 | Testdaten fehlen |
| 13 | Given Demo-Mandant mit 2+ Mandaten, When Admin wechselt, Then nur Daten des aktiven Mandanten | must | Demo D1 | Plattform-Kernfunktion |
---
## Entscheidungen (konsolidiert)
| Datum | Entscheidung | Begründung |
|-------|-------------|------------|
| 2026-04-07 | `refreshTrusteeData` als separate Action (nicht Erweiterung von `queryFeatureInstance`) | Separation of Concerns: Sync = schreibend, Query = lesend |
| 2026-04-07 | `aggregateTable` im Sub-Agent statt SQL in `queryTable` | Saubere Trennung row-level vs. aggregate, SQL-Injection-Schutz |
| 2026-04-07 | DB-Connection-Pooling statt Connection-per-Call | Grösster Performance-Hebel (~200ms pro Connection) |
| 2026-04-07 | Result-Cache auf WorkflowMemory-Ebene | Agent kann gecachte Ergebnisse wiederverwenden |
| 2026-04-09 | Prompt-Templates als Code statt externe Dateien | In `mainTrustee.py` als Template Workflows wartbar und versioniert |
| 2026-04-09 | Quid-Demo ohne Zendesk-Connector CSV/Excel-Upload | Gleicher Analyse-Mehrwert, viel weniger Aufwand |
| 2026-04-09 | Gastro-UC und Konsolidierung auf P4 | Warten auf Kunden-Input (Kevin) bzw. Lars-Meeting |
| 2026-04-09 | CommCoach-Personas als schnellster Wow-Effekt für PWG | Feature ist gebaut; nur Persona-Definitionen nötig |
---
## Betroffene Module
- **Gateway:** `features/commcoach/` (Persona-Seeding), `features/trustee/` (done + Demo-Daten), `features/neutralization/` (Demo-Config), `features/graphicalEditor/` (done), `serviceCenter/serviceAgent/` (done), `demoConfigs/` (neue Demo-Configs), `workflows/methods/methodTrustee/` (done)
- **Frontend:** keine Änderungen
- **DB-Migration:** nein
- **Andere:** Testdaten (Excel, PDF, CSV), Demo-Skripte (Markdown)
## Links
- Kundenwünsche: `local/notes/demo-tue-use-cases-inputs-customers.md`
- Automation Unification (done): `wiki/c-work/3-validate/2026-04-automation-unification.md`
- UI-Enhancements (parallel): `wiki/c-work/1-plan/2026-04-porta-ui-enhancements-team-meeting.md`
- INT-Stabilität (parallel): `wiki/c-work/1-plan/2026-04-gateway-int-stability-and-bugfixes.md`
- Original-Plan 1: `wiki/c-work/1-plan/2026-04-customer-trustee-demo-enablement.md`
- Original-Plan 2: `wiki/c-work/1-plan/2026-04-customer-trustee-tooling-and-demo-prep.md`
- Investor-Demo (Referenz): `platform-core/modules/demoConfigs/investorDemo2026.py`
- CommCoach Personas: `platform-core/modules/features/commcoach/serviceCommcoachPersonas.py`
- Trustee Main (Prompts + Quick Actions): `platform-core/modules/features/trustee/mainTrustee.py`
- Neutralisierung: `platform-core/modules/features/neutralization/`
- Demo-Daten: `platform-core/demoData/`
## Abschluss
- [ ] Original-Pläne als "merged" markieren (Verweis auf dieses Dokument)
- [ ] b-reference/ aktualisiert (ggf. neue Feature-Docs)
- [ ] TOPICS.md aktualisiert (falls neues Thema)
- [ ] Dieses Dokument z-archive/ verschoben