fixes from demo1: compliance ui fgtable issues, nodes vertical, nodes editting logic to edit in all editors of a mmandate based on highest level of role

This commit is contained in:
ValueOn AG 2026-04-14 22:56:16 +02:00
parent 788b63907a
commit d03b7094e3
2 changed files with 318 additions and 0 deletions

View file

@ -0,0 +1,318 @@
<!-- status: plan -->
<!-- started: 2026-04-14 -->
<!-- component: gateway | frontend-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 | `gateway/demoData/neutralizer/tenant-dossier.pdf` + Generator `_generateTenantDossierPdf.py` |
| E2 | Knowledge-Base Demo-Dateien | ✅ done | `gateway/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 `gateway/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: `gateway/demoData/trustee/budget-2026.xlsx`
- [ ] **E4: Musterbelege** (PDFs) erstellen
- Handwerkerrechnung, Nebenkostenabrechnung, Bankbeleg, Versicherungsbeleg, Spesenbeleg
- Ablage: `gateway/demoData/invoices/`, `gateway/demoData/expenses/`
- [ ] **E5: Quid-Testdaten** (CSV)
- Umsatzdaten 6 Monate, Kundenliste mit Margen, Support-Zeiterfassung
- Ablage: `gateway/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): `gateway/modules/demoConfigs/investorDemo2026.py`
- CommCoach Personas: `gateway/modules/features/commcoach/serviceCommcoachPersonas.py`
- Trustee Main (Prompts + Quick Actions): `gateway/modules/features/trustee/mainTrustee.py`
- Neutralisierung: `gateway/modules/features/neutralization/`
- Demo-Daten: `gateway/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

Binary file not shown.