wiki/c-work/2-build/2026-04-investor-demo-tuesday.md
2026-04-13 01:37:33 +02:00

28 KiB
Raw Blame History

Investor-Demo Dienstag — Live Product Demo (20 Min)

Beschreibung und Kontext

Was: 20-Minuten Live-Demo von PowerON PORTA für Investoren und Treuhänder am Dienstag. Wer präsentiert: Kollegen präsentieren Keynotes (Use Cases), Patrick (CTO/CEO) zeigt die Plattform live. Publikum: Investoren (ROI, Skalierbarkeit, Marktdifferenzierung) + Treuhänder (Praxisnutzen, Datenschutz, Zeitersparnis).

Business-Treiber: Die Demo muss in 20 Min zeigen, dass PowerON kein Konzept ist, sondern ein funktionierendes Produkt mit echtem Kundennutzen. Investoren wollen Traktion sehen, Treuhänder wollen sich wiedererkennen.

Abhängigkeiten:

  • Trustee-Tooling-Plan: c-work/1-plan/2026-04-customer-trustee-tooling-and-demo-prep.md (Phase 13 erledigt )
  • Customer Demo Enablement: c-work/1-plan/2026-04-customer-demo-enablement.md (Analyse vorhanden)
  • UI-Enhancements: c-work/1-plan/2026-04-porta-ui-enhancements-team-meeting.md

Risiko bei Nicht-Umsetzung: Demo scheitert live, Investoren sehen nur Slides statt funktionierendes Produkt. Vertrauensverlust.


Fokus und kritische Details

Was die Audienz überzeugt (Schritt 1 — gemeinsam klären)

Investoren wollen sehen:

  1. Funktionierendes Produkt — kein Mockup, echte Datenverarbeitung
  2. Marktdifferenzierung — warum nicht ChatGPT/Copilot/Langdock?
  3. Wiederholbarkeit — keine Einmal-Demo, sondern konfigurierbare Workflows
  4. Skalierbarkeit — Multi-Tenant, Multi-LLM, Usage-Based
  5. Internationalisierung — neue Sprache in 5 Min, AI-übersetzt, kein Redeploy

Treuhänder wollen sehen:

  1. Zeitersparnis — vorher 515 Min/Beleg → nachher Sekunden
  2. Datenschutz — keine Kundendaten an OpenAI/Google
  3. Integration — Abacus/Bexio/SharePoint ohne Systemwechsel
  4. Kontrolle — Audit-Trail, Nachvollziehbarkeit

Drei Live Use Cases (aus Keynote-Deck)

# Use Case Dauer Wow-Effekt Technische Basis
UC1 Treuhand: Automatisierte Spesenverarbeitung 6 Min Beleg → OCR → Kontierung → Export in Sekunden Trustee-Feature, Graph-Editor Workflow, SharePoint-Nodes
UC2 Immobilien: Automatisierte Machbarkeitsstudie 4 Min Grundstück eingeben → 6 Min statt 4 Std. Recherche RealEstate-Feature, Agent + webSearch + readUrl
UC3 Enterprise: AI Knowledge Workspace 4 Min Frage stellen → sofortige Antwort mit Quellenangabe AI Workspace (nicht Chatbot), RAG auto-indexiert, Neutralisierung
UC4 Sprach-Deployment: Neue Sprache in 5 Minuten 3 Min Sprache anlegen → AI uebersetzt → UI sofort mehrsprachig i18n-System, AI-Batch-Translation, Admin-UI
UC5 Integrationen: Architektur-Visualisierung 1 Min Komplette Integrationslandschaft auf einen Blick Neue Systemseite, Custom React-Komponente
Neutralisierung (Querschnitt) 3 Min PII live entfernen + Re-Personalisierung Neutralisierung-Feature, Private LLM

Kritische Stellen

  • Graph-Editor Performance: Workflow muss flüssig laufen (keine 15s-Wartezeiten)
  • Neutralisierung live zeigen: Muss am AI-Gate greifen, nicht nur im Playground
  • Stabile Testdaten: Jeder Demo-Lauf muss identische Ergebnisse liefern
  • Internet-Abhängigkeit: UC2 (webSearch) braucht stabiles Internet — Fallback vorbereiten
  • LLM-Latenz: Multi-LLM-Routing muss schnell sein — bevorzugt Azure OpenAI (geringste Latenz)

Ziel und Nicht-Ziele

Ziel:

  • Drei Use Cases end-to-end live lauffähig auf einer Demo-Instanz
  • Bootstrap-Modul demo das den kompletten Demo-Zustand idempotent aufbaut
  • Detailliertes Drehbuch mit Timing, Talking Points und Fallbacks
  • Automatisiertes Testdrehbuch (pytest) das die Demo-Schritte verifiziert
  • Alles auf INT-Umgebung deployt und getestet bis Montag Abend

Explizit NICHT:

  • Keine neuen Features bauen (nutzen was da ist)
  • Kein neues Frontend (UI-Enhancements separat)
  • Keine neuen Connector-Implementierungen
  • Keine Änderung am Billing für die Demo

Betroffene Module

  • Gateway: modules/demoConfigs/ (neu — Demo-Config-System), modules/routes/routeAdminDemoConfig.py (neu), modules/system/mainSystem.py (Nav-Eintrag), features/trustee/, features/workspace/ (RAG fuer UC3), features/neutralization/, features/graphicalEditor/
  • Frontend: pages/admin/AdminDemoConfigPage.tsx (neu), IntegrationsOverviewPage.tsx (erledigt), config/pageRegistry.tsx (Eintrag), App.tsx (Route)
  • DB-Migration: nein (nur Daten-Seeding)
  • Config: gateway/config.ini (Demo_RMA_* Credentials)
  • Andere Komponenten: Testdaten (PDF, Excel, CSV) in gateway/demoData/, Demo-Skript (Markdown), Test-Suite (pytest)

Entscheidungen

Datum Entscheidung Begründung
2026-04-12 Bootstrap-Modul statt manuellem Setup Idempotent, reproduzierbar, jeder kann die Demo aufsetzen
2026-04-12 UC2 (Immobilien) als Agent-Demo statt RealEstate-Feature voll nutzen RealEstate-Feature ist noch Shell; Agent + webSearch zeigt dieselbe Story
2026-04-12 Neutralisierung als Querschnitt in UC1 + UC3 einbauen, nicht als eigenen Block Natürlicher Flow, keine "Feature-Parade"
2026-04-12 Testdrehbuch als pytest-Suite unter gateway/tests/demo/ Automatisch prüfbar, CI-fähig, reproduzierbar
2026-04-12 Fallback-Screenshots für UC2 (Internet-abhängig) Demo darf nicht an WLAN scheitern
2026-04-13 UC3 nutzt AI Workspace statt Chatbot fuer RAG Chatbot hat kein eigenes RAG (nur SQL + Tavily). Workspace hat vollstaendiges RAG: Upload → auto-Indexing (Extraktion + Embeddings) → semantische Suche via buildAgentContext. Einfacher, staerker, ein Interface fuer alles.

Umsetzungs-Checkliste

Phase 0: Klärung — Was zeigen wir? (So Abend / Mo Morgen)

  • Use-Case-Auswahl bestätigen mit Kollegen (Keynote-Alignment)
    • UC1: Treuhand Spesenverarbeitung → zeigt Plug&Play + Workflow
    • UC2: Immobilien Machbarkeitsstudie → zeigt AI-Agent-Power + Zeitersparnis
    • UC3: AI Knowledge Workspace → zeigt RAG + Enterprise-Readiness (via Workspace, nicht Chatbot)
    • UC4: Sprach-Deployment → zeigt Skalierbarkeit + Enterprise-Readiness (neue Sprache in 5 Min)
    • UC5: Integrationen → zeigt Plug&Play-Architektur visuell (Datenquellen → PORTA → Services)
    • Querschnitt: Neutralisierung → zeigt Privacy-First
  • Demo-Storyline abstimmen: Reihenfolge, Übergänge, wer was sagt
  • Fallback-Strategie: Was wenn ein UC live hängt? (→ vorbereitete Screenshots/Video)

Phase 0.5: Demo-Config System (erledigt )

  • gateway/modules/demoConfigs/ — Modulares Demo-Config-System
    • _baseDemoConfig.py — Abstrakte Basisklasse mit load() / remove()
    • __init__.py — Auto-Discovery aller Config-Files im Ordner
    • investorDemo2026.py — Investor-Demo Konfiguration:
      • Mandant HappyLife AG (happylife): workspace (RAG fuer UC3), trustee(RMA), graphicalEditor, chatbot (inaktiv — UC3 nutzt Workspace), neutralization
      • Mandant Alpina Treuhand AG (alpina-treuhand): workspace, trustee(RMA), graphicalEditor, neutralization
      • User Patrick Helvetia (p.motsch@poweron.swiss): SysAdmin, Mitglied beider Mandanten
      • RMA-Credentials aus config.ini (Demo_RMA_*)
      • Billing, Neutralization-Config automatisch
  • Admin UI unter /admin/demo-config (SysAdmin-only)
    • Listet alle verfuegbaren Demo-Configs
    • Pro Config: "Load" + "Remove" Buttons
    • API: GET/POST /api/admin/demo-config
  • gateway/demoData/ — Ordnerstruktur fuer Testdaten (Files manuell bereitstellen)
    • invoices/, expenses/, knowledge-base/

Phase 1: Demo-Daten vorbereiten (Mo Vormittag)

  • RMA-Credentials in gateway/config.ini eintragen (Demo_RMA_ApiBaseUrl, Demo_RMA_ClientName, Demo_RMA_ApiKey)
  • Demo-Config laden via Admin UI → /admin/demo-config → "Load"
  • Demo-Testdaten in gateway/demoData/ bereitstellen:
    • invoices/ — 3 Muster-Rechnungen (PDF): Handwerker, Bueromaterial, Versicherung
    • expenses/ — 2 Spesenbelege (PDF): Reisekosten, Bewirtung
    • tenant-dossier.pdf — Fiktives Mieterdossier fuer Neutralisierung
    • knowledge-base/ — 3-4 Firmen-Dokumente (Handbuch, FAQ, Prozessbeschreibung) fuer RAG

Phase 2: Demo-Konfiguration pro Use Case (Mo Nachmittag)

UC1: Treuhand — Spesenverarbeitung

  • Trustee-Instanz konfigurieren (Connector: RMA — Credentials via Demo-Config Bootstrap)
  • Graph-Editor Workflow erstellen/aktivieren: Trigger (manual) → SharePoint listFiles → Loop → downloadFile → extractFromFiles → processDocuments → syncToAccounting (System-Template "Treuhand: PDF-Klassifizierung & Trustee-Import" als Basis nutzen)
  • SharePoint-Demo-Ordner mit 3 Musterbelegen befüllen (oder lokaler Upload-Pfad)
  • Demo-Prompt vorbereiten: "Verarbeite die Belege im Eingangsordner und erstelle die Buchungen"
  • Erwartetes Ergebnis dokumentieren: Beleg → extrahierte Positionen → MWST-Code → Kontierung

UC2: Immobilien — Machbarkeitsstudie

  • Workspace-Instanz mit RealEstate-Kontext konfigurieren
  • Demo-Prompt vorbereiten: "Erstelle eine Machbarkeitsstudie für das Grundstück an der Musterstrasse 42, 8001 Zürich. Analysiere Zonierung, Baurecht und Nutzungspotential."
  • Agent-Tools sicherstellen: webSearch, readUrl, createChart verfügbar
  • Fallback: Vorbereitete Ergebnis-Screenshots falls Internet ausfällt
  • Erwartetes Ergebnis dokumentieren: Automatische Datensammlung → BZO-Analyse → Zusammenfassung

UC3: Enterprise — AI Knowledge Workspace

Entscheidung: UC3 nutzt den AI Workspace (nicht den Chatbot). Der Chatbot hat kein eigenes RAG-System (er arbeitet mit SQL + Tavily). Der Workspace hat vollstaendiges RAG: Upload → automatisches Indexing (Extraktion + Embeddings) → semantische Suche im Workspace-Chat via buildAgentContext.

  • Workspace-Instanz in HappyLife AG verwenden (bereits via Bootstrap erstellt)
  • Knowledge-Base befuellen: Im Workspace-Dashboard (/mandates/<id>/workspace/<instanceId>/dashboard) die 4 Dokumente aus gateway/demoData/knowledge-base/ hochladen (Drag & Drop oder + Button):
    • investor-summary.md
    • 2025-10-investor-detail.md
    • platform-overview.html
    • referenzen.html RAG-Indexing laeuft automatisch nach Upload (async Pipeline: Pre-Scan → Extraktion → Chunking → Embeddings). Status pruefen unter RAG Insights (/mandates/<id>/workspace/<instanceId>/rag-insights).
  • Demo-Fragen vorbereiten (im Workspace-Chat stellen, nicht im Chatbot):
    • "Wie ist unser Reklamationsprozess?" (→ Antwort mit Quellenangabe)
    • "Welche Fristen gelten fuer Nebenkostenabrechnungen?" (→ zeigt domaenenspezifisches Wissen)
    • "Erstelle eine Zusammenfassung der Q1-Ergebnisse" (→ zeigt Analyse-Faehigkeit)
  • Neutralisierung aktivieren und in einer Frage live demonstrieren
  • Erwartetes Ergebnis dokumentieren: Frage → Antwort mit Quellenangabe + Audit-Trail

UC5: Integrationen — Architektur-Visualisierung (erledigt )

  • Systemseite page.system.integrations implementiert
    • Route: /integrations, Navigation in mainSystem.py, Icon FaProjectDiagram
  • IntegrationsOverviewPage.tsx mit 3-Schichten-Layout (Daten, PORTA, Organisation)
  • API GET /api/system/integrations-overview aggregiert alle Daten
  • Demo-Daten sicherstellen: Mindestens 2 Connections, 2 System-Connectors, 3 Workflows, 2 Mandanten

UC4: Sprach-Deployment — Neue Sprache in 5 Minuten

  • Sicherstellen: i18n Admin-UI erreichbar unter /admin/languages
  • Bestehende Sprachen pruefen: DE, EN, FR vorhanden und vollstaendig
  • Demo-Sprache vorbereiten: Spanisch (es) NICHT vorinstalliert lassen — wird live angelegt
  • AI-Uebersetzungs-Pipeline testen: POST /api/i18n/sets mit code: "es" → async Translation → Ergebnis in <5 Min
  • Sprachwechsel im UI testen: Nach Anlage → Sprachselektor zeigt "es" → UI komplett auf Spanisch
  • Fallback: Falls AI-Translation zu lang dauert → Sprache vorher anlegen, live nur den Wechsel zeigen
  • Billing sicherstellen: Demo-Mandant hat genuegend Credits fuer AI-Batch-Translation

Querschnitt: Neutralisierung

  • Demo-Flow vorbereiten:
    1. Fiktives Mieterdossier (PDF) im Workspace öffnen
    2. Neutralisierung aktivieren → PII wird zu Platzhaltern
    3. AI-Analyse auf neutralisierten Daten ausführen
    4. Re-Personalisierung zeigen (Platzhalter → Originaldaten)
  • NeutralizationPanel im Frontend vorbereiten (Mappings sichtbar)

Phase 3: Drehbuch der Demo (Mo Nachmittag)

  • Detailliertes Drehbuch erstellen (siehe unten, Abschnitt "Demo-Drehbuch")
  • Talking Points für jede Szene (was sagen, was zeigen, was klicken)
  • Timing-Markers (Minute 0-20) mit Puffer

Phase 4: Testdrehbuch — automatisiertes Testing (Mo Abend)

  • Test-Suite gateway/tests/demo/ erstellen
  • conftest.py mit Demo-Fixtures (Mandant, User, Feature-Instanzen)
  • test_demo_uc1_trustee.py — Trustee-Pipeline end-to-end
  • test_demo_uc2_realestate.py — Agent-basierte Machbarkeitsstudie
  • test_demo_uc3_chatbot.py — Knowledge-Chatbot mit RAG
  • test_demo_uc4_i18n.py — Sprach-Deployment + AI-Translation + UI-Wechsel
  • test_demo_neutralization.py — Neutralisierung roundtrip
  • test_demo_bootstrap.py — Bootstrap idempotent + Demo-Zustand korrekt
  • Alle Tests grün auf INT-Umgebung

Phase 5: Generalprobe (Di Vormittag)

  • Komplette Demo 1x durchspielen auf INT mit echtem Browser
  • Timing messen — muss in 20 Min passen (Ziel: 18 Min mit Puffer)
  • Edge Cases testen: Was wenn LLM langsam? Was wenn SharePoint-Timeout?
  • Backup-Plan: Browser-Tab mit vorbereiteten Ergebnissen für jeden UC

Demo-Drehbuch (20 Minuten)

Szene 0: Setup (vor der Demo, nicht sichtbar)

  • Demo-Config geladen via Admin UI (/admin/demo-config → "Investor Demo April 2026" → Load)
  • Browser auf: PORTA Dashboard (eingeloggt als p.motsch@poweron.swiss / patrick.helvetia)
  • Mandanten: HappyLife AG + Alpina Treuhand AG
  • Tabs vorbereitet: Dashboard, Workspace (mit indexierten Knowledge-Docs), Graph-Editor, Trustee
  • SharePoint-Demo-Ordner mit Belegen befuellt
  • Neutralisierung aktiviert
  • Knowledge-Base indexiert

Szene 1: Intro & Integrationslandschaft (0:00 3:00)

Was zeigen: PORTA Dashboard → Integrationsseite — die Architektur auf einen Blick Talking Points:

  • "Das ist PORTA — unsere AI Execution Layer. Ein Login, alle AI-Workflows."
  • "Jeder Mandant hat seine eigenen Features, Daten, Berechtigungen — komplett getrennt."

Klick-Sequenz:

  1. Dashboard → Mandanten-Übersicht
  2. Feature-Store → aktivierte Features zeigen (Treuhand, Chatbot, Neutralisierung)
  3. Integrationen öffnen → "Hier sehen Sie die komplette Architektur auf einen Blick."
  4. Schicht für Schicht erklären:
    • Unten: "Das sind die Datenquellen — Microsoft, Google, Abacus, Bexio. Die stecken wir an wie Stecker."
    • Mitte: "Hier laufen die Workflows — visuell gebaut, AI-gesteuert. System-Templates und individuelle."
    • Oben: "Die Services pro Mandant — jeder bekommt nur, was er braucht."
  5. "50+ Konnektoren, keine Seat-Lizenzen, Bezahlung pro Workflow-Ausführung."
  6. → Überleitung: "Schauen wir uns an, wie das konkret funktioniert."

Szene 2: UC1 — Treuhand Spesenverarbeitung (3:00 9:00)

Was zeigen: Beleg → OCR → KI-Kontierung → Export — in Sekunden statt Minuten Talking Points:

  • "Treuhänder verbringen 5-15 Min pro Beleg mit manueller Erfassung."
  • "PowerON automatisiert das: Beleg hochladen oder aus SharePoint holen, KI extrahiert und kontiert."

Klick-Sequenz:

  1. Graph-Editor öffnen → Demo-Workflow "Treuhand: Belegverarbeitung" zeigen
  2. "Das ist ein visueller Workflow — kein Code nötig. SharePoint → Loop → Extraktion → Kontierung."
  3. Workflow manuell starten → Live-Ausführung zeigen
  4. Trustee-Bereich öffnen → extrahierte Positionen zeigen (Beleg, MWST, Konto)
  5. "Das lief gerade in Sekunden. Vorher: 15 Minuten pro Beleg. Das ist 98% Zeiteinsparung."
  6. Audit-Trail zeigen: "Jeder Schritt ist nachvollziehbar — für Revision und Compliance."

Transition: "Und das Beste: Die Kundendaten verlassen nie die Schweiz. Schauen wir uns das an."

Szene 3: Neutralisierung live (9:00 12:00)

Was zeigen: PII-Schutz in Echtzeit — Daten werden vor dem LLM-Call anonymisiert Talking Points:

  • "Treuhänder, Anwälte, Gesundheitssektor — die können keine Kundendaten an OpenAI senden."
  • "PowerON löst das architektonisch: PII wird entfernt, BEVOR Daten zum Modell gehen."

Klick-Sequenz:

  1. Workspace öffnen → Mieterdossier (PDF) hochladen
  2. Neutralisierungs-Panel zeigen: "Hier sehen Sie die Mappings — jeder Name, jede Adresse wird durch Platzhalter ersetzt."
  3. AI-Analyse starten: "Analysiere das Mieterdossier und erstelle eine Risikobewertung"
  4. Ergebnis zeigen: Analyse ist inhaltlich korrekt, aber keine echten Namen im LLM-Call
  5. Re-Personalisierung: "Im Ergebnis stehen wieder die echten Namen — der Platzhalter-Roundtrip ist transparent."
  6. "Das ist keine opt-in Checkbox. Das ist Architektur. PII kann physisch nicht zum Modell-Anbieter gelangen."

Transition: "Jetzt zeigen wir, wie die KI auch ausserhalb der Treuhand arbeitet."

Szene 4: UC2 — Immobilien Machbarkeitsstudie (12:00 15:00)

Was zeigen: Grundstück → automatische Recherche → Analyse in Minuten statt Stunden Talking Points:

  • "Immobilienfirmen recherchieren 2-4 Stunden pro Grundstück. Manuell, über verschiedene Quellen."
  • "PowerON automatisiert die Recherche und erstellt eine Machbarkeitsstudie."

Klick-Sequenz:

  1. Workspace öffnen → Prompt eingeben: "Erstelle eine Machbarkeitsstudie für Musterstrasse 42, 8001 Zürich"
  2. Agent arbeitet live: "Der Agent sucht jetzt automatisch in öffentlichen Quellen — swisstopo, Zonenpläne, ÖREB."
  3. Ergebnis zeigen: Zusammenfassung mit Zonierung, Baurecht, Nutzungspotential
  4. Chart zeigen (falls generiert): Flächenaufteilung, Nutzungsmix
  5. "6 Minuten statt 4 Stunden. 92% Zeiteinsparung. Und das funktioniert für jedes Grundstück in der Schweiz."

Transition: "Letztes Beispiel — wie die KI als Firmen-Wissensbasis funktioniert."

Szene 5: UC3 — AI Knowledge Workspace (15:00 17:00)

Was zeigen: Firmenwissen sofort abrufbar — mit Quellenangabe, alles im AI Workspace Talking Points:

  • "Informationssilos sind der Produktivitätskiller Nr. 1. ERP, CRM, SharePoint — Daten überall."
  • "PowerON gibt ein einheitliches Interface auf alle Datenquellen."
  • "Dokumente hochladen — der Workspace indexiert automatisch. Fragen stellen — sofortige Antwort mit Quelle."

Klick-Sequenz:

  1. Workspace oeffnen (HappyLife AG) → Dokumente sind bereits hochgeladen und indexiert
  2. Optional: RAG Insights zeigen → "Hier sehen Sie den Index-Status — alle Dokumente sind verarbeitet."
  3. Im Workspace-Chat fragen: "Wie ist unser Reklamationsprozess?"
  4. Antwort zeigen: Strukturiert, mit Quellenangabe (Dokument + Abschnitt)
  5. Follow-up: "Welche Fristen gelten fuer Nebenkostenabrechnungen?"
  6. Antwort mit Rechtsgrundlage zeigen
  7. "Sofortige Antworten statt 10 Minuten Suche. Rollenbasierter Zugriff — jeder sieht nur, was er sehen darf."

Szene 6: UC4 — Sprach-Deployment live (17:00 20:00)

Was zeigen: Neue Sprache in Minuten — AI uebersetzt das komplette UI automatisch Talking Points:

  • "European customers need multi-language support. German, French, English — and tomorrow maybe Spanish or Portuguese."
  • "With PowerON you create a new language, AI translates all UI texts, and in 5 minutes the system is fully available in the new language. No code change, no redeploy."
  • "This is not Google Translate. The AI understands context — 'Open' as status vs. 'Open' as action is translated correctly."

Klick-Sequenz:

  1. Administration → System → UI-Sprachen oeffnen → bestehende Sprachen zeigen (DE, EN, FR)
  2. "Neue Sprache anlegen" klicken → Spanisch (es) waehlen
  3. AI-Uebersetzung startet → Fortschritt zeigen (Batch-Pipeline)
  4. Sprache wechseln → komplettes UI ist sofort auf Spanisch
  5. "That just took 5 minutes. For an entire enterprise platform. No developer needed."
  6. Optional: "Update All" zeigen — scannt die Codebase, synchronisiert neue Keys, uebersetzt automatisch

Transition: "Das war PowerON PORTA — zurück zu den Zahlen."

Szene 7: Closing (im Keynote-Deck, nicht in PORTA)

  • Zurück zu den Keynote-Slides: Pricing, Roadmap, Next Steps
  • CTA für Investoren / Treuhänder

Testdrehbuch (automatisiert)

Architektur

gateway/tests/demo/
├── conftest.py                    # Demo-Fixtures, DB-Setup
├── test_demo_bootstrap.py         # Bootstrap idempotent, Demo-Zustand korrekt
├── test_demo_uc1_trustee.py       # UC1: Beleg → Extraktion → Kontierung
├── test_demo_uc2_realestate.py    # UC2: Agent → Web-Recherche → Analyse
├── test_demo_uc3_chatbot.py       # UC3: Frage → RAG → Antwort + Quelle
├── test_demo_uc4_i18n.py          # UC4: Sprache anlegen → AI-Translation → UI-Wechsel
├── test_demo_neutralization.py    # Neutralisierung: PII → Platzhalter → Roundtrip
└── README.md                      # Ausführungshinweise

Test-Szenarien (Given-When-Then)

T-BOOT: Bootstrap

Given  keine Demo-Daten in der DB
When   bootstrapDemoEnvironment(db) ausgeführt wird
Then   Demo-Mandant existiert mit allen Feature-Instanzen
  AND  Demo-User existiert mit korrekten Rollen
  AND  Demo-Testdaten sind im Workspace geladen
  AND  Neutralisierung ist aktiviert
  AND  Graph-Editor hat Demo-Workflows

Given  Demo-Daten bereits vorhanden
When   bootstrapDemoEnvironment(db) erneut ausgeführt wird
Then   kein Fehler (idempotent)
  AND  Zustand ist identisch

T-UC1: Treuhand Spesenverarbeitung

Given  Demo-Mandant mit Trustee-Instanz und 3 Musterbelegen im Workspace
When   Graph-Editor Workflow "Treuhand: Belegverarbeitung" gestartet wird
Then   alle 3 Belege werden extrahiert
  AND  jeder Beleg hat mindestens 1 extrahierte Position
  AND  jede Position hat: Betrag, MWST-Satz, Konto-Vorschlag
  AND  Workflow-Status = completed
  AND  Audit-Trail enthält alle Schritte

Given  extrahierte Positionen vorhanden
When   syncToAccounting aufgerufen wird
Then   Positionen werden an Connector übergeben (Mock: Bexio-Sandbox)
  AND  Sync-Status = "synced" für alle Positionen

T-UC2: Immobilien Machbarkeitsstudie

Given  Demo-Mandant mit Workspace-Instanz
When   Agent-Prompt "Erstelle Machbarkeitsstudie für Musterstrasse 42, 8001 Zürich" ausgeführt wird
Then   Agent nutzt webSearch und/oder readUrl Tools
  AND  Ergebnis enthält: Zonierung, Baurecht-Infos, Flächenanalyse
  AND  Ergebnis ist strukturiert (Abschnitte, ggf. Chart)
  AND  Antwortzeit < 120 Sekunden

T-UC3: AI Knowledge Workspace

Given  Demo-Mandant mit Workspace-Instanz und indexierter Knowledge-Base (3+ Dokumente)
  AND  Dokumente via Workspace-Dashboard hochgeladen (auto-indexiert via _autoIndexFile Pipeline)
When   im Workspace-Chat "Wie ist unser Reklamationsprozess?" gestellt wird
Then   Antwort referenziert mindestens 1 Quell-Dokument (via buildAgentContext → semanticSearch)
  AND  Antwort ist inhaltlich korrekt (enthält Prozessschritte)
  AND  Antwortzeit < 15 Sekunden

Given  Workspace mit RAG-Index
When   Frage zu Thema ausserhalb der Knowledge-Base gestellt wird
Then   Antwort zeigt an, dass keine relevante Quelle gefunden wurde (kein Halluzinieren)

T-UC4: Sprach-Deployment

Given  Demo-Mandant mit i18n Admin-Zugriff und bestehenden Sprachen DE, EN, FR
  AND  Sprache "es" (Spanisch) existiert NICHT
When   POST /api/i18n/sets mit code "es" ausgefuehrt wird
Then   AI-Batch-Translation startet
  AND  nach Abschluss enthaelt das es-Set alle Keys aus dem de-Master-Set
  AND  Uebersetzungen sind kontextuell korrekt (Stichprobe: "Speichern" -> "Guardar", "Abbrechen" -> "Cancelar")
  AND  Gesamtdauer < 5 Minuten

Given  Sprache "es" vollstaendig uebersetzt
When   User die Sprache im UI auf "es" wechselt
Then   alle UI-Elemente zeigen spanische Texte
  AND  kein Fallback auf deutsche Keys sichtbar (ausser bei fehlenden Uebersetzungen)

T-NEU: Neutralisierung

Given  Demo-Mandant mit aktivierter Neutralisierung
  AND  Mieterdossier-PDF mit PII (Name: "Hans Muster", Adresse: "Bahnhofstrasse 1")
When   PDF hochgeladen und Neutralisierung ausgeführt wird
Then   neutralisierter Text enthält Platzhalter statt "Hans Muster"
  AND  Mapping-Tabelle enthält Zuordnung Platzhalter → Original
  AND  resolveText() stellt Originaldaten korrekt wieder her

Given  neutralisierter Text
When   AI-Analyse "Erstelle Risikobewertung" ausgeführt wird
Then   LLM erhält nur neutralisierten Text (kein PII im Request)
  AND  Ergebnis nach Re-Personalisierung enthält "Hans Muster"

Ausführung

cd gateway/

# Alle Demo-Tests:
pytest tests/demo/ -v -m "not expensive"

# Nur Bootstrap:
pytest tests/demo/test_demo_bootstrap.py -v

# Nur UC1:
pytest tests/demo/test_demo_uc1_trustee.py -v

# Mit Live-AI-Calls (expensive, für Generalprobe):
pytest tests/demo/ -v -m ""

Akzeptanzkriterien

# Kriterium (Given-When-Then) Prio
1 Given Demo-Mandant, When Bootstrap ausgeführt wird, Then alle Features aktiv + Testdaten geladen + Neutralisierung an must
2 Given 3 Musterbelege, When Trustee-Workflow läuft, Then Belege extrahiert + kontiert + Audit-Trail vorhanden must
3 Given Workspace mit Agent, When Machbarkeitsstudie-Prompt, Then strukturierte Analyse mit Quellen in <2 Min must
4 Given AI Workspace mit Knowledge-Base (auto-indexiert), When Frage im Workspace-Chat gestellt, Then Antwort mit Quellenangabe in <15s must
5 Given Mieterdossier-PDF, When Neutralisierung aktiv + AI-Analyse, Then PII nie an LLM gesendet + Re-Personalisierung korrekt must
6 Given i18n Admin-UI, When neue Sprache "es" angelegt wird, Then AI uebersetzt alle Keys in <5 Min und UI zeigt Spanisch nach Sprachwechsel must
7 Given komplettes Drehbuch, When Demo komplett durchgespielt, Then Timing ≤ 20 Min mit Puffer must
8 Given pytest-Suite, When pytest tests/demo/ ausgeführt, Then alle Tests grün (ohne expensive: Bootstrap + Struktur; mit expensive: Live AI) should

Testplan

ID AC Art Automatisiert Repo-Pfad Status
T1 1 integration ja gateway/tests/demo/test_demo_bootstrap.py pending
T2 2 e2e ja (teilweise, AI=expensive) gateway/tests/demo/test_demo_uc1_trustee.py pending
T3 3 e2e ja (expensive) gateway/tests/demo/test_demo_uc2_realestate.py pending
T4 4 e2e ja (expensive) gateway/tests/demo/test_demo_uc3_chatbot.py (Workspace-RAG, nicht Chatbot) pending
T5 5 e2e ja (expensive) gateway/tests/demo/test_demo_neutralization.py pending
T6 6 e2e ja (expensive) gateway/tests/demo/test_demo_uc4_i18n.py pending
T7 7 manual nein — (Generalprobe Di Morgen) pending
T8 8 ci ja pytest tests/demo/ -v pending
  • Keynote Use Cases: local/notes/use-cases-DEMO-TUE.md
  • Customer Demo Enablement: c-work/1-plan/2026-04-customer-demo-enablement.md
  • Trustee Tooling Plan: c-work/1-plan/2026-04-customer-trustee-tooling-and-demo-prep.md
  • Bootstrap (bestehend): gateway/modules/interfaces/interfaceBootstrap.py
  • System-Templates (Treuhand): interfaceBootstrap._buildSystemTemplates()
  • Workflow-Engine: b-reference/gateway/workflow.md
  • Neutralisierung: b-reference/platform/neutralization.md
  • Testing-Strategie: d-guides/testing-strategy.md
  • Trustee-Feature: gateway/modules/features/trustee/
  • RealEstate-Feature: gateway/modules/features/realEstate/
  • Chatbot-Feature: gateway/modules/features/chatbot/ (nicht fuer UC3 — UC3 nutzt Workspace-RAG)
  • Neutralisierung-Feature: gateway/modules/features/neutralization/
  • Graph-Editor: gateway/modules/features/graphicalEditor/

Abschluss

  • b-reference/ aktualisiert (keine neuen Features, nur Demo-Config)
  • TOPICS.md aktualisiert (falls neues Thema)
  • Dieses Dokument → z-archive/ verschoben