VF Design-Stack-Upgrade fuer Julian

Kontext

Marvin will Julian (GF Vibe Factory, Marketing + Design) die aktuell besten AI-Werkzeuge fuer Image- und Video-Generation im VF-Open-WebUI bereitstellen. Stack heute: vf-nova hat Replicate-FLUX-Anbindung via lokalem mcp-replicate (entwickler-seitig, nicht User-seitig). Open WebUI native Image-Gen ist nicht aktiviert. Anti-Slop-Layer ist in vf-sonnet v2.13 drin, aber vf-nova hat das nicht uebernommen.

Zwei-Phasen-Ansatz:

  • Phase 1 (heute/morgen, 1-2h): Quick-Wins ohne Hosting-Setup. Julian hat sofort besseres Image-Gen.
  • Phase 2 (2-3 Tage): mcp-replicate-hosted produktiv schalten, Modell-Whitelist erweitern, Video-Gen-Frage klaeren.
  • Phase 3 (optional, spaeter): Skill-spezifische Custom Models (Speaker-Card, Save-the-Date, Recap-Reel) aus open-design-Pattern cherry-picken. Nicht Teil dieses Plans.

Erfolgs-Kriterien

Am Ende von Phase 2 muss gelten:

  1. Julian kann im VF-Chat „mach mir ein Hero-Bild fuer Sparkasse-Event in VF-Brand” sagen und bekommt einen brand-konformen Output ohne Default-Tailwind-Indigo / generic-AI-Slop.
  2. Julian kann via Slash-Command oder natuerlicher Anfrage Recraft V4 (Vektor) und Ideogram V3 Quality (Text-im-Bild) gezielt anwaehlen — und Nova waehlt das richtige Modell selbst wenn Julian nur den Use-Case beschreibt.
  3. Tool-Calls landen im Audit-Log (mcp-replicate-hosted GuardMiddleware), Spending-Cap auf Replicate ist aktiv.
  4. Video-Gen-Frage ist beantwortet: entweder via Replicate-Hosted (wenn Modelle dort) oder mit klarem Sub-Plan fuer Phase 2b.

Phase 1 — Anti-Slop + Native Image-Gen (1-2h, sofort)

Ziel: Julian merkt heute Abend dass Nova besser ist. Kein Code-Deploy noetig, nur Konfig + System Prompt.

Schritt 1.1 — Anti-Slop-Block in vf-nova System Prompt (~45 Min)

Source of Truth fuer den Anti-Slop-Text: craft/anti-ai-slop.md von nexu-io/open-design (Apache 2.0, Attribution-Pflicht beim Vendor-In).

Datei: OWUI Admin-UI → Custom Models → vf-nova → System Prompt editieren. Backup vorher in ~/source/apps/open-webui-vf/prompts/vf-nova.txt ablegen (Source of Truth, dann via Admin-API rein-pushen). Aktuell existiert die Datei noch nicht — neu anlegen analog vf-sonnet.txt.

Block-Inhalt (verbatim einfuegen, Marvin kann nachschleifen):

<anti_slop>
Bei Image-/Design-Outputs sind diese sieben Default-AI-Tells verboten (P0, Cardinal Sins):
 
1. **Default-Tailwind-Indigo als Accent.** Verboten exakt: #6366f1, #4f46e5, #4338ca, #3730a3, #8b5cf6, #7c3aed, #a855f7. Stattdessen: VF-Neongelb #C8FF62 als Primary-Accent, dunkles Anthrazit als Background.
2. **Two-Stop „Trust"-Gradient auf Hero.** Verboten: purple→blue, blue→cyan, indigo→pink. Stattdessen: flache Flaechen oder VF-typische Schwarz/Neongelb-Kontraste.
3. **Emoji als Feature-Icons** in Headlines, Buttons, Listen — ✨🚀🎯⚡🔥💡 sind raus. Stattdessen 1.6-1.8px monoline SVG-Icons mit currentColor.
4. **Sans-Serif auf Display-Text wenn Brand serif vorgibt** — Futura PT ist Brand-Display, NICHT durch Inter/Arial ersetzen.
5. **Rounded Card mit colored left-border accent** — die kanonische AI-Dashboard-Tile-Form ist verboten.
6. **Invented Metrics** — „10x faster", „99.9% uptime", „3x more productive" ohne Quelle. Stattdessen echte VF-Zahlen (140+ Kunden, 250+ Events, 45.000+ Gaeste).
7. **Filler Copy** — `lorem ipsum`, `Feature One/Two/Three`. Stattdessen echte VF-Eventnamen wenn moeglich, sonst klar als Platzhalter markiert.
 
Faustregel: ~80% bewaehrte Patterns + ~20% bewusste distinctive Choice — nicht 100% sicher, nicht 100% experimentell.
 
Bei Tool-Calls an Replicate: jede Image-Generation muss VF-Brand-Lock im Prompt haben (Neongelb #C8FF62, Anthrazit-Background, Futura-PT-Typography). Bei Foto-Real ohne Brand: VF-typische Mood (energetisch, kantig, professionell-aber-nicht-steif).
 
Adapted from nexu-io/open-design craft/anti-ai-slop.md (Apache 2.0).
</anti_slop>

Verifikation:

  • Vor dem Update: Test-Prompt „mach mir ein modernes SaaS-Hero-Bild” → schauen ob Output Indigo-Gradient hat (Baseline).
  • Nach dem Update: gleicher Prompt → muss Indigo-frei sein, VF-Mood drin.
  • Backup-Diff: git diff im ~/source/apps/open-webui-vf/prompts/ darf nur den vf-nova-Block zeigen.

Risiko: vf-nova hatte vorher kein eigenes System-Prompt-File — falls Admin-UI das Custom Model nur in der DB hat und nicht aus File rendert, ist die Source-of-Truth-Strategie nicht wirksam. Fallback: System Prompt direkt im Admin-UI editieren, nachtraeglich in Datei dumpen via GET /api/v1/configs/models.

Schritt 1.2 — Native Image-Gen: SKIPPED (Korrektur 2026-05-19)

Plan-Annahme war falsch. Beim Live-Check der OWUI-API stellte sich heraus dass Open WebUI v0.9.5 Replicate nicht als nativen Image-Gen-Provider unterstuetzt. Verfuegbar in IMAGE_GENERATION_ENGINE sind nur: openai, automatic1111, comfyui, gemini. Keine Replicate-Engine.

Live-Check (GET /api/v1/images/config) zeigte:

{
  "ENABLE_IMAGE_GENERATION": false,
  "IMAGE_GENERATION_ENGINE": "openai",
  "IMAGES_OPENAI_API_KEY": ""
}

Optionen pruefen:

ProviderSetup-AufwandCostDSGVOVerdict
OpenAI (GPT-image-1)OpenAI-Key noetig (Marvin hat keinen aktiv)$0.04-0.12US-Hosting, eigener AVVparken — neuer Subprozessor
Gemini (Nano Banana 2 via Google AI Studio)Google AI Studio Key, neuer Subprozessor$0.08/BildUS-Hosting in Default, Vertex EU separatparken — Marvin hat keinen Key bereit
ComfyUI self-hostHetzner GPU + Stable Diffusion SetupInfrastructureEU OKoverkill fuer Pilot
Automatic1111 self-hostanalog ComfyUIInfrastructureEU OKoverkill

Entscheidung: Native Image-Gen wird NICHT in Phase 1 aktiviert. Begruendung:

  1. Replicate (der Stack-Standard) ist kein nativer Provider.
  2. Alle Alternativen brauchen einen neuen Subprozessor + Key-Beschaffung — das ist Phase-3-Scope, nicht Quick-Win.
  3. Image-Gen-via-Tool-Use ist eh der robustere Pfad (Nova waehlt Modell pro Use-Case selbst statt globaler Default).
  4. Phase 2 (mcp-replicate-hosted bauen) loest das Problem sauber.

Was statt Phase 1.2 passiert:

a) Native Image-Gen-Flags konsistent halten — Backend ENABLE_IMAGE_GENERATION: false bleibt, Persona-Models image_generation: true (Frontend-Flag) wird in einem separaten Pass gleichgezogen wenn Phase 2 live ist und Tool-Use die Image-Generierung uebernimmt. b) Phase 2 wird mit Prioritaet vorgezogen — Sprint-2-Plan in sprint-2-replicate-hosted ist der Pfad. c) Plan-Snapshot zu Native-Provider-Vergleich kommt in image-gen-provider-vergleich beim naechsten Update.

Phase 1.2-Status: SKIPPED mit Begruendung. Kein Rollback noetig (nichts deployed).

Phase-1-Total

  • Aufwand: 1-2 Stunden
  • Cost-Delta: keine Hosting-Kosten, nur Pro-Bild-Pricing
  • DSGVO: kein neuer Subprozessor (Replicate ist im AVV-Bestand sobald Sprint-2 ausgerollt; Phase 1 nutzt heute schon den Token)
  • Rollback: System Prompt revert + Image-Engine in Admin auf „none” — 5 Minuten

Phase-1-Checkpoint

Bevor Phase 2 startet:

  • 2026-05-19: Anti-Slop-Block live in vf-nova (43969 chars, +3427 chars Delta). System-Prompt-Version bumped auf v3.0. Source-of-Truth: ~/source/apps/open-webui-vf/prompts/vf-nova.txt
  • [~] Native Image-Gen — SKIPPED, Begruendung in 1.2
  • Julian gefragt: „kannst du Phase 1 zwei Tage testen, was fehlt dir?” — Antwort einsammeln, in Phase-2-Scope einarbeiten

Phase 2 — mcp-replicate-hosted produktiv + Video-Eval (2-3 Tage)

Ziel: vollwertiger Tool-Use im Chat, Multi-Modell-Auswahl durch Nova, Audit + Spending-Cap, Video-Gen-Frage entscheiden.

Status 2026-05-19 (Session-Update):

  • Phase 2.1 Code komplett~/source/mcps/mcp-replicate-hosted/ gebaut, 39 pytest gruen, ruff clean, build_app() smoke OK. Pattern-Mirror von mcp-vf-hosted: ScalekitProvider + GuardMiddleware (Modell-Whitelist + Rate-Limit + Audit + Kill-Switch) + ToolWhitelistMiddleware (10 sichtbare Tools) + 5 Layer-Tools (create_image / create_text_image / create_svg_logo / create_image_from_reference / create_video) + Slash-Prompts + search_tools. CDK-Stack-File fertig, ECR-Repo angelegt.
  • Phase 2.1.a Modell-Whitelist — 15 Image-Modelle + 4 Video-Modelle in config.py, Tests verifizieren USE_CASE_DEFAULTS sind drin.
  • Phase 2.1.b Brand-Lock-Snippetbrand_lock.py mit VF-Snippet (Neongelb C8FF62 + Anthrazit + Anti-Slop-Liste) + Negative-Prompt-Hints, default-on in jedem Layer-Tool.
  • Phase 2.1.c Slash-Prompts — alle drei (/speaker_card, /save_the_date, /social_post) implementiert mit Anti-Prompt-Injection-Sanitizer (<<<>>>-Wrapping, Whitelist-Patterns).
  • Phase 2.2 Video-Eval ABGESCHLOSSEN — Option A gewaehlt. Replicate-Live-Check 2026-05-19 bestaetigte Kling/Wan/Veo/Seedance verfuegbar. ADR: vf-video-gen-provider. create_video-Layer-Tool plus 4-Modelle-Video-Whitelist in 2.1 reingenommen.
  • Phase 2.1.d AVV-Updateextern/shared/vibe-factory/avv-replicate.md schreiben, Andre + Christoph briefen, Replicate Inc. als Subprozessor eintragen. Vorbedingung fuer Live-Schaltung an Julian.
  • Phase 2.1.e AWS-Deploy + Smoke — Replicate-Token + Spending-Cap, AWS-Secrets, CF-Tunnel, Scalekit-Resource, DNS, Docker-Push, CDK-Deploy, externe Smoke-Tests. Schritte komplett in _index §“Was offen ist (Marvin-Schritte)“.
  • Phase 2.3 vf-nova Tool-Whitelist in OWUI Admin-UI erweitern nach Live-Schaltung.
  • Phase 2.4 Doku — Capability-Files schon angelegt (mcp-replicate-hosted, mcp-replicate-hosted). VF-Kunden-File-Eintrag offen.

Schritt 2.1 — Sprint-2-Plan ausfuehren: mcp-replicate-hosted bauen (~1-1.5 Tage)

Der Plan liegt fertig in sprint-2-replicate-hosted. Hier nur die Delta-Anpassungen + Verifikations-Steps die im Original-Plan nicht explizit waren.

Repo: ~/source/mcps/mcp-replicate-hosted/ (neu, analog mcp-vf-hosted).

Pattern-Source: mcp-hosting-fargate-tunnel — bewiesen via mcp-vf-hosted + mcp-whatsapp.

Delta-Anpassungen gegen den Original-Sprint-2-Plan:

2.1.a Erweiterte Modell-Whitelist

Original-Plan schlug Flux 1.1 Pro + SDXL + ggf Recraft vor. Stand heute (Mai 2026) erweitert auf:

ModellReplicate-PfadPreis/BildUse-Case
Flux 2 Problack-forest-labs/flux-2-pro$0.03Default Foto-real, JSON-Prompts, 8 Ref-Images
Flux 1.1 Pro Ultrablack-forest-labs/flux-1.1-pro-ultra$0.06Wenn 4MP-Output noetig
Nano Banana 2google/nano-banana-2$0.08Brand-Asset mit Text + Logo, 14 Ref-Images
Recraft V4recraft-ai/recraft-v4$0.04Illustration, Farb-Diktate halten
Recraft V4 SVGrecraft-ai/recraft-v4-svg$0.08Vektor-Output, Logos, Icons
Ideogram V3 Qualityideogram-ai/ideogram-v3-quality$0.09Text-im-Bild (Speaker-Cards, Posters)
Ideogram V3 Turboideogram-ai/ideogram-v3-turbo$0.03Schneller Text-im-Bild
Flux Kontext Problack-forest-labs/flux-kontext-pro$0.04Varianten eines Gewinner-Bilds
Seedream 4.5bytedance/seedream-4.5$0.04Massen-Mockups ohne Kundenbezug

Hidden / nicht whitelisted (Cost-Schutz):

  • Modelle ueber $0.20/Bild generell blocken
  • seedance-pro (Video) zu teuer fuer Default-Whitelist, nur via expliziten Tool-Call

Implementierung: Whitelist in mcp-replicate-hosted/config.py als Konstante. GuardMiddleware prueft model-Parameter gegen Liste, returned 403 bei Treffer.

2.1.b Brand-Lock-Prompt-Snippet

Im FastMCP-Wrapper jedem Tool eine Brand-Lock-Direktive in der Docstring mitgeben, damit Nova das Modell nicht ohne Brand-Awareness anrieft:

@mcp.tool()
async def create_image(
    prompt: str,
    model: str = "black-forest-labs/flux-2-pro",
    aspect_ratio: str = "16:9",
    brand_lock: bool = True,
) -> dict:
    """
    Erstellt ein Bild via Replicate.
 
    Bei brand_lock=True (Default) wird der VF-Brand-Lock automatisch
    in den Prompt injiziert: Neongelb #C8FF62 Primary, Anthrazit Background,
    Futura-PT-Typography wenn Text im Bild noetig.
 
    Default-Modell ist Flux 2 Pro ($0.03/Bild, 8 Ref-Images, JSON-Prompts).
    Fuer Text-im-Bild (Speaker-Cards, Posters): ideogram-ai/ideogram-v3-quality.
    Fuer Vektor (Logos, Icons): recraft-ai/recraft-v4-svg.
    Fuer Brand-Asset mit Logo + bis 14 Ref-Bildern: google/nano-banana-2.
    """

Few-Shot in der Docstring zeigt Nova welches Modell wann — ohne dass Julian Modell-Namen wissen muss.

2.1.c Workflow-Prompts (FastMCP Prompts statt nur Tools)

FastMCP v2 erlaubt Prompts als Slash-Commands die User direkt im Chat triggern. Drei VF-spezifische:

Slash-CommandWas es macht
/speaker_cardPromptet nach Speaker-Name + Event + Logo, ruft Ideogram V3 Quality
/save_the_datePromptet nach Datum + Event-Name + Mood, ruft Flux 2 Pro mit Text-Overlay
/social_postPromptet nach Plattform (LinkedIn/Instagram) + Kern-Message, waehlt Format + Modell

Implementation: 1-2h zusaetzlich. Optional fuer Phase 2 — wenn Phase 2.1 sonst rutscht, in Phase 3 verschieben.

2.1.d AVV + Subprozessor-Update

Sobald mcp-replicate-hosted live:

  • VF-AVV updaten: Replicate Inc. als Subprozessor eintragen
  • DSGVO-Briefing-File extern/shared/vibe-factory/avv-replicate.md schreiben (Andre als Adressat)
  • Spending-Limit im Replicate-Dashboard auf $100/Mo setzen (Cost-Cap)

2.1.e Verifikations-Suite

Pflicht-Smokes vor Go-Live:

TestErwartet
OAuth-Flow Christoph + Andre + Marvin (drei User, ein Tunnel)drei Token, drei Audit-Eintraege
create_image mit Flux 2 Pro, VF-BrandOutput ohne Indigo, mit Neongelb
create_image mit ideogram-v3-quality, Speaker-Card-Promptlesbarer Text drauf
create_image mit Recraft V4 SVG, Logo-Promptechtes SVG zurueck
GuardMiddleware: Versuch Modell ausserhalb Whitelist (seedance-pro)403
GuardMiddleware: Rate-Limit (61 Calls/Min)429
Spending-Cap: Replicate-Dashboard zeigt Limitaktiv

Schritt 2.2 — Video-Gen-Eval (~0.5 Tag)

Entscheidung treffen zwischen drei Optionen:

Option A — Video via Replicate (wenn Modelle dort)

Replicate hat heute (Mai 2026): Wan 2.5, Hunyuan, LTX-Video, Kling (via partnerlicher Hostings). Veo 3.1 und Sora 2 sind NICHT auf Replicate — Google bzw OpenAI haben das direkt.

Wenn Kling 2.6 Pro auf Replicate aktuell verfuegbar ist: simpelster Pfad. Tool in mcp-replicate-hosted hinzufuegen, gleicher Stack, fertig.

Check-Task (10 Min): curl https://api.replicate.com/v1/models | jq '.results[] | select(.name|test("kling|veo|sora|wan"))' mit Replicate-Token.

Option B — fal.ai als zweiter Provider

Aktuell breiteste Video-Modell-Coverage (Sora 2, Veo 3.1, Kling, Hailuo). Aber:

  • US-HQ, EU-Datacenter unklar — Trust-Center hat keine eindeutige Aussage
  • AVV-Klaerung noetig → Enterprise-Sales anschreiben (1-2 Wochen Latenz)
  • Eigener mcp-fal-hosted noetig (~2 Tage Bau analog Replicate)

Pfad B = neuer Sub-Plan, NICHT in Phase 2 leistbar.

Option C — Vertex AI EU direkt fuer Veo 3.1

Saubereste EU-Compliance, Veo 3.1 Lite ist Preis-Leistungs-Sieger (0,05 USD/s mit Audio).

  • Neuer GCP-Account oeffnen + AVV mit Google EU
  • Vertex AI in europe-west4 aktivieren
  • Eigener mcp-veo-hosted (~1-2 Tage)
  • Mit Multi-Tenant-Frage: ein Account fuer alle Kunden oder pro Kunde?

Pfad C = ebenfalls neuer Sub-Plan.

Empfehlung Phase 2.2:

  1. Check Replicate live ob Kling 2.6 Pro / Wan 2.5 / Veo 3 verfuegbar.
  2. Wenn ja → Option A, in Phase 2.1 mit reinnehmen (Whitelist + GuardMiddleware-Eintrag, 1h zusaetzlich).
  3. Wenn nein oder Modelle veraltet → ADR schreiben intern/wissen/entscheidungen/vf-video-gen-provider.md mit drei Optionen + Empfehlung „Phase 2b: fal.ai-Sub-Plan starten” (separater Plan, NICHT in Phase 2 dieses Dokuments).
  4. Julian und Andre fragen: brauchen die kurzfristig Video oder geht das auch Q3?

Schritt 2.3 — vf-nova Tool-Whitelist erweitern (~0.5 Tag)

Heute hat vf-nova: SharePoint + Replicate (FLUX) + Web-Search + Code-Interpreter. Nach Phase 2 muss die Whitelist um die erweiterten Replicate-Tools wachsen:

ToolSichtbar fuer Nova?
create_image (mcp-replicate-hosted)ja
create_image_from_reference (Flux Kontext Pro Variante)ja
create_svg_logo (Recraft V4 SVG)ja
create_text_image (Ideogram V3 Quality)ja
list_predictions (Audit)ja
get_prediction (Status)ja
cancel_predictionja
Slash-Prompts /speaker_card, /save_the_date, /social_postja
create_video (wenn Phase 2.2 Option A)ja
alles andere von mcp-replicate (35 Tools total)nein, on-demand via search_tools

Konfiguration via OWUI Admin-API POST /api/v1/configs/tool_servers analog zu vf-sonnet 16-Core-Tool-Liste (siehe mcp-tool-konfiguration).

Risiko: Tool-Bloat. Wenn vf-nova zu viele Tools sieht: gleicher Effekt wie bei vf-sonnet (ListTools ohne CallToolRequest). Faustregel: max 12 Tools auf Nova. Bei Ueberschreitung: search_tools Meta-Tool aus mcp-replicate-hosted exposen analog mcp-vf-hosted.

Schritt 2.4 — Doku + Capability-Files (~0.5 Tag)

Pflicht-Updates damit Vault konsistent bleibt:

FileAktion
intern/capabilities/mcps/mcp-replicate-hosted.mdNEU, analog mcp-vf-hosted
intern/capabilities/repos/mcp-replicate-hosted.mdNEU
intern/capabilities/mcps/_index.mdTabelle erweitern, replicate-Eintrag teilen in lokal + hosted
intern/capabilities/apps/open-webui-vf.mdvf-nova Tool-Whitelist updaten, Spending-Cap dokumentieren
intern/projekte/openwebui-vf/welle-4-capability-rollout.mdItems 4.10 + 4.12 als done markieren
intern/wissen/patterns/image-gen-provider-vergleich.mdStand-Update mit Erkenntnissen aus Phase 2
extern/shared/vibe-factory/avv-replicate.mdNEU, fuer Andre
intern/kunden/vibe-factory.mdHistorie-Eintrag

Phase-2-Decision-Forks

FrageEmpfehlungRisk-of-Other
Replicate-Token: VF-eigener oder Marvin-Sammel-Token?VF-eigener Token mit Spending-Cap → Cost-Hygiene + AuditSammel-Token mischt Kosten-Linien
Spending-Cap-Hoehe initial$100/Mo (entspricht ~3300 Flux-2-Pro-Bilder, mehr als realistisches VF-Volumen)hoeher = mehr Risk, niedriger = blockiert legitime Nutzung
Video-Gen jetzt oder Q3?Erst Replicate live-check (10 Min), dann entscheidenWenn voreilig fal.ai-Plan: 1-2 Wochen AVV-Wartezeit blockiert
Slash-Prompts /speaker_card etc in Phase 2 oder 3?In Phase 2 wenn Zeit, sonst Phase 3Phase-2-Scope-Creep
open-design ausser anti-ai-slop noch was uebernehmen?Erstmal nur anti-ai-slop, Rest in Phase 3Scope-Creep

Phase-2-Total

  • Aufwand: 2-3 Tage
  • Cost-Delta: ~33 EUR/Mo Hosting (Fargate + cloudflared) + Pass-Through-Replicate (~30-80 USD/Mo bei realistischem Volumen)
  • DSGVO: Replicate als Subprozessor in AVV, AVV-Update VF
  • Rollback: vf-nova Tool-Whitelist auf alte Liste zuruecksetzen, Stack disablen via cdk destroy — 30 Min

Querschnitts-Themen

Cost-Cap-Strategie

Drei Layers:

  1. Replicate-Dashboard Spending-Limit $100/Mo (hartes Cap, blockt API-Calls bei Erreichen)
  2. GuardMiddleware im mcp-replicate-hosted: Rate-Limit 60/min und 1000/h pro Subject-Hash (verhindert Bot-Abuse)
  3. Modell-Whitelist blockt Modelle >$0.20/Bild (verhindert Daumen-Schuss-Cost-Explosion)

Wenn alle drei zugleich greifen: User-Erlebnis verschlechtert sich. Monitoring: CloudWatch-Alarm bei Spending >$50/Mo (50% des Caps) an Marvin-Pager.

DSGVO-Cut

Heute Stand (Phase 2 fertig):

  • Replicate ist Subprozessor, AVV vorhanden, US-Hosting primaer, EU-Edge-Routing
  • Fuer VF B2B-Eventagentur mit ueberwiegend deutschen Kunden (Sparkasse, Stadt Hamm, E.On etc.) OK — Andre kann das vor Kunden vertreten weil die Bilder generisch sind (Mood-Shots, keine Personen-Trainingsdaten)
  • Hartes Limit: wenn VF mal Material mit erkennbaren Personen generieren will (Aftermovie-Stills mit Gaesten) → DSGVO-Gespraech mit Andre + Christoph

Industriekunde Nr 2 (Becker o.ae.) hat schaerfere Compliance — fuer den Fall wird ein separater Hetzner-Self-Host-Plan mit Flux 2 Klein + Wan 2.6 noetig, das ist NICHT Teil dieses Plans.

Open-Design-Attribution

craft/anti-ai-slop.md ist Apache 2.0. Beim Vendor-In in vf-nova System Prompt:

  • Attribution-Zeile am Ende des Blocks („Adapted from nexu-io/open-design …“) — ist im Plan oben drin
  • Bei Cherry-Pick weiterer Files in Phase 3: separates File intern/wissen/patterns/anti-ai-slop-rules.md mit Copy + Attribution + Changes-Marker („VF-Brand-Lock added”, „Indigo-Liste auf 7 Hex-Werte erweitert”)
  • Eine THIRD_PARTY_LICENSES.md im Vault-Root anlegen wenn mehr als 3 Apache-2.0-Quellen vendor-in

Was NICHT in Phase 1/2 ist

Hier explizit als Anti-Scope dokumentiert damit kein Drift:

  • Vertex AI EU als Provider — neuer GCP-Account, neuer AVV, neue Billing-Linie. Phase 3 oder spaeter.
  • fal.ai als Provider — AVV-Klaerung mit Enterprise-Sales noetig. Phase 3 oder spaeter.
  • Self-Host Flux 2 Klein / Wan 2.6 auf Hetzner GPU — fuer Industriekunden, nicht VF.
  • Skill-spezifische Custom Models (vf-nova-speaker-card, vf-nova-recap etc.) — Phase 3.
  • open-design Cherry-Pick beyond anti-ai-slop (typography.md, directions.ts, design-brief Mapping) — Phase 3.
  • Brand-Kit-Discovery-Wizard (_index) als eigene Layer drueber — separates Projekt.
  • Midjourney v7 — kein offene API, ausgeschlossen.
  • Native Vertex-Integration in OWUI Settings — Phase 1 nutzt Replicate als Native-Engine. Wenn Phase 3 Vertex dazu, dann als zweite Engine.

Ausfuehrungs-Reihenfolge

heute Abend:        Phase 1.1 (Anti-Slop in vf-nova)
heute Abend:        Phase 1.2 (Native Image-Gen aktiv)
heute Abend:        Test mit Julian (2 Prompts, Baseline + neu)
                    
+1 Tag:             Replicate Live-Check (Phase 2.2 vorgezogen, 10 Min)
                    → Entscheidung Video-Pfad
                    
+2-3 Tage:          Phase 2.1 ausfuehren (mcp-replicate-hosted bauen)
                    Phase 2.3 (Nova-Whitelist erweitern) parallel
                    Phase 2.4 (Doku)
                    
+0.5 Tag:           Phase 2 Smoke + Handover an Julian + Christoph

Cross-Refs

Open Questions

  1. Hat Julian eine Praeferenz fuer einen bestimmten Stil (editorial, brutalist, modern minimal) ueber VF-Brand hinaus? — Phase-1-Test klaert das.
  2. Brauchen wir Bild-Galerien (alle generierten Bilder einer Session als persistente Page)? — OWUI hat das nicht nativ, Phase 3 wenn Bedarf.
  3. Soll Christoph als AI-Steward Audit-Zugriff bekommen (Read auf CloudWatch-Logs mcp-replicate-hosted)? — Andre fragen.
  4. Wenn Phase 2 Video bringt: wo werden Videos gehostet? S3 + Cloudflare Worker oder Replicate-eigene URLs? — entscheiden in 2.2.