Welle 2 — Reife (8.2 → 9.2)

Sieben bis acht Bautage. Hebt das System auf Best-in-Class-KMU-Niveau. Erst starten wenn Welle 1 sich gesetzt hat (4-6 Wochen Beobachtung) und konkrete Eval-Trigger zeigen wo’s klemmt.

Ergebnis nach Welle 2

BereichVor Welle 2Nach Welle 2Wie
Evals79+30 Cases, CI-Gate, Adversarial-Cases
Eskalation & Safety79Send-Mail-Hard-Eskalation auf Tool-Schema-Level
Context-Engineering99.5Stammdaten in DDB extrahiert
Cost & Latency99.5Pre-Warming + Per-User-Cost-Anomaly
Observability79OpenTelemetry-Tracing + SLI/SLO
Security & DSGVO8.59.5WAF Pro + Entra OpenID
Aggregat8.29.2

Zusatzkosten Welle 2: +30 EUR/Mo (WAF Pro +25 + OpenTelemetry-Sidecar +5).

Backlog-Items

B2.1 — Eval-Suite ausbauen (2 Tage)

  • 30 weitere Eval-Cases (Total 50)
  • Adversarial-Cases: Prompt-Injection-Versuche, Sicherheits-Grenze-Tests, Edge-Cases Anti-Halluzinations-Regel
  • LLM-Judge mit zweitem Judge (Opus 4.7) bei Score < 3.0 — Multi-Judge nur bei strittigen Cases
  • CI-Gate als GitHub-Action: PR auf ~/source/apps/open-webui-vf/prompts/ triggert Eval-Lauf

B2.2 — Send-Mail-Hard-Eskalation auf Tool-Schema-Level (0.5 Tag)

In mcp-m365:

  • Neues Tool sharepoint_draft_send_preview returns {preview_html, token, expires_at}
  • Existing sharepoint_send_mail erfordert nur noch token aus Preview-Call
  • Without-Token-Call → ValidationError mit klarer Message „Use sharepoint_draft_send_preview first”

System-Prompt-Update: Mail-Workflow-Sektion explizit auf den Preview→Confirm-Pattern referenzieren.

Eval-Cases ergaenzen: 3 Cases die ohne Preview senden wollen (sollten alle scheitern).

B2.3 — Stammdaten in DDB + Template-System (1 Tag)

  • DynamoDB-Table openwebui-vf-customer-data mit Items pro Customer
  • Open-WebUI-Pre-Hook: zur Request-Zeit Stammdaten-Lookup, Template-Substitution
  • vf-sonnet.txt Stammdaten-Sektion entfernen, durch {{CUSTOMER_STAMMDATEN}} ersetzen
  • Sync-Script: intern/kunden/vibe-factory.md → DDB (manuell triggern oder Cron)

Wichtig: Pattern wird wiederverwendbar fuer Kunde 2-N. Macht den Pfad zu Multi-Tenancy einen Schritt einfacher.

B2.4 — Per-User-Cost-Aggregation + Anomaly-Detection (1 Tag)

  • CloudWatch Custom Metric BedrockCostPerUser mit Dimension user_email
  • Logs: LiteLLM-Response-Hook schreibt strukturiertes Cost-Event
  • CloudWatch-Insight-Query: Top-5-User nach Cost in 24h
  • Alarm: Per-User-Cost > 3x 7-Tages-Durchschnitt → SNS

B2.5 — OpenTelemetry-Tracing (1 Tag)

  • OTel-Collector als zusaetzlicher Sidecar im Fargate-Task
  • Trace-ID-Propagation: Open WebUI → LiteLLM → mcp-vf-hosted → Sub-MCPs
  • AWS X-Ray oder Jaeger als Backend
  • Trace-Sampling 100% fuer Pilot, spaeter 10%

Outcome: Multi-Hop-Debugging um Faktor 10 schneller. Wenn Andre sagt „die Anfrage hat gehangen”, reicht Trace-ID einkippen statt 4 Logs durchsuchen.

B2.6 — Pre-Warming Cron + Sunset-Reminder (0.5 Tag)

  • EventBridge-Cron alle 4 Std: Lambda macht /api/config-Call gegen vf-chat.agenticventures.de
  • Eliminiert 15-20s Cold-Start fuer User
  • Sunset-Trigger: am 2026-08-15 → Email an Marvin „Pilot-Sunset in 16 Tagen, Review faellig”

B2.7 — Entra OpenID statt Email+MFA (1 Tag, wenn 4. User dazukommt)

  • Microsoft Entra App-Registration im VF-Tenant
  • Open WebUI OIDC-Config (eingebaut)
  • Andre/Christoph/Marvin login per M365-SSO
  • User-Provisioning automatisch via JIT-Provisioning

Trigger: sobald der 4. User dazukommt (Felix? Johanna?). Vorher: Email-Reg + MFA reicht.

B2.8 — Cloudflare WAF Pro (0.5 Tag, +25 EUR/Mo)

  • Cloudflare-Plan auf Pro upgraden (oder eigene WAF-Rules in Free + zusaetzliche Bot-Protection)
  • Rules: Block bekannte Bot-User-Agents, OWASP-Core-Rule-Set, Rate-Limit pro IP

Trigger: sobald die Domain oeffentlich kommuniziert wird oder erste Scraper-Versuche in CloudWatch sichtbar.

Reihenfolge in Welle 2

#ItemTageAbhaengigkeit
1B2.1 Eval-Cases ausbauen2Welle 1 done
2B2.2 Send-Mail-Hard-Eskalation0.5nach Eval-Cases ergaenzt
3B2.3 Stammdaten-Template-System1unabh.
4B2.5 OpenTelemetry1unabh.
5B2.4 Per-User-Cost-Anomaly1nach OTel sinnvoll
6B2.6 Pre-Warming + Sunset0.5unabh.
7B2.7 Entra OpenID1wenn 4. User da
8B2.8 WAF Pro0.5opportunistisch

Cross-Refs