VF-Vault-Architektur
Wie Vibe Factory GmbH in Zukunft mit Claude arbeitet. Christoph baut bereits einen sauberen Markdown-Vault in SharePoint auf — unsere Aufgabe ist NICHT, etwas Neues zu erfinden, sondern (a) seine Arbeit mit kleinen Best-Practice-Ergaenzungen zu verstaerken und (b) Open WebUI als optionales zweites Frontend daneben anzubieten.
Zielbild
VF hat ein SharePoint-Markdown-Vault unter Workshop/VibeFactory/ mit klarer 00_-99_-Geschaeftsbereichs-Struktur. Christoph ist AI-Steward + Verantwortlicher fuer das Vault. Mitarbeiter (Andre, Julian, Felix, Christoph) arbeiten heute mit claude.ai Cowork als Primaer-Frontend (Artifacts, Pinned-Sidewing, native Connectors wie Canva). Externe Systeme (Papierkram, TicketPAY, M365-Outlook) bleiben Source-of-Truth in ihrem Bereich.
Open WebUI ist alternatives Frontend in eu-central-1 mit Bedrock EU — Plan-B fuer Skalierung (DSGVO-strikter, Multi-User-Kosten, eigener Audit-Layer). Beide Frontends greifen auf denselben SharePoint-Vault zu. Christoph nutzt erstmal claude.ai weiter; Open WebUI ist „da” wenn er oder das Team es nutzen will.
Crons pflegen Vault automatisch (Wikilink-Checks, Stale-Inbox, PENDING-Listen). Ziel: schneller Kunden liefern.
Was Christoph schon gebaut hat (Stand 13.05.)
Quelle: Run-Bericht 2026-05-13-vf-vault-analyse.
| Element | Stand |
|---|---|
| Vault-Storage | SharePoint Workshop/VibeFactory/ + OneDrive-Sync auf Mitarbeiter-Maschinen |
| Frontend heute | claude.ai Cowork (Mitarbeiter-Accounts, jeder einzeln eingeloggt) |
| Aktive MCPs (in claude.ai) | Canva, WebSearch. M365 geplant |
| Top-Level-Struktur | 00_Unternehmen … 99_Archiv (10 nummerierte Geschaeftsbereiche, klare Sortier-Logik) |
| CLAUDE.md | 17 KB, gepflegt — Firmenkontext + Prozessmanager-Tabelle + Artifact-Design-CSS + Tool-Inventar + Projekt-Status-Section |
| Refactor-Plan v2 | Vom 12.05., 7 Phasen A-G, ~3h Arbeit. Ziel: 09_Vorlagen + 10_Wissen → ein 09_Standards-Ordner. CLAUDE.md schrumpft auf Routing-Tabelle. _context.md pro Bereich, _index.md pro Sammlung. Drei-Schicht-Navigation. Hat sich „Marvin Claude” als Inspiration genommen |
| Aktive Projekte | LinkedIn-Audit + Instagram Stadtfest Ennigerloh |
Christoph denkt in unserer Welt — Routing-Tabellen, _context.md-Pattern, schlanke CLAUDE.md. Wir muessen NICHT von vorne erklaeren.
Team (Korrektur gegenueber aelteren Annahmen)
VF ist GmbH (nicht GbR), 2020 gegruendet von Andre Kollas, Julian Sokolowski, Christoph Hagedorn. Felix Leufert dazugekommen.
| Person | Rolle / Prozess-Bereich(e) | Claude-Frontend(s) |
|---|---|---|
| Christoph Hagedorn | Gruender. Projekte, Vorlagen, Wissen — AI-Steward + Vault-Owner | claude.ai Cowork (primaer) |
| Andre Kollas | Gruender. Finanzen, Recht, HR, Vertrieb, CRM | claude.ai Cowork |
| Julian Sokolowski | Gruender. Marketing (LinkedIn, Instagram), Design | claude.ai Cowork + Canva direkt |
| Felix Leufert | Mitarbeiter. Produkte & Leistung, Technik, Lager | claude.ai Cowork |
| Marvin | extern: AI-Architekt + Setup | Claude Code CLI |
| Praktikant (zukuenftig) | Belege einlesen + Designs planen, eingeschraenkter Scope | TBD |
Architektur-Prinzipien (uebernommen aus Christoph’s Setup)
- Vault-Struktur ist
00_Unternehmen…99_Archiv. Numerische Praefixe fuer Sortier-Stabilitaet. Trennung Vertrieb (vor Vertrag) vs CRM (nach Vertrag). - CLAUDE.md ist Routing-Tabelle + Identity (~80 Zeilen Ziel). Details wandern in
_context.mdpro Bereich und_index.mdpro Sammlung. - Drei-Schicht-Navigation: global (CLAUDE.md routing) → Bereich (
_context.md) → Sammlung (_index.md). - Spec-Files zuerst lesen: bei Kalkulationen, Brand-Profilen, Pipelines IMMER die
.md-Spec lesen bevor die.xlsx/.docxangefasst wird. Single-Source-of-Truth-Regel. - Niemals loeschen ohne Rueckfrage. Versionen statt In-Place-Update (
_v2,_final). - Sprache: Deutsch mit echten Umlauten. Dateinamen
YYYY-MM-DD_Thema_Variante.ext(Leerzeichen erlaubt, nicht am Anfang wegen OwnCloud-Sync). - Vertraulichkeit: nicht aus Vault in externe Tools zitieren ohne Kontext-Deckung.
Frontend-Strategie (zwei parallel, denselben Vault)
claude.ai Cowork (Primaer heute)
├─ Connectors: Canva, WebSearch, [M365 geplant]
├─ Artifacts in Pinned-Sidewing
├─ pro Mitarbeiter eigener Account + Vertrag
└─ greift auf SharePoint-Vault via M365-Connector
Open WebUI (Parallel / Plan-B fuer Skalierung)
├─ Bedrock EU (Sonnet 4.6, Haiku 4.5)
├─ MCPs: mcp-vf-hosted (Papierkram, TicketPAY, M365), [vf-vault]
├─ Multi-User unter einer AWS-Rechnung
└─ greift auf SharePoint-Vault via mcp-m365 (gleicher M365-Tenant)
Wann claude.ai Cowork: schnell, mit Artifacts + Sidewing, fuer einzelne kreative Sessions (Design, Caption-Schreiben, Brand-Profil-Pflege). Christoph’s aktueller Modus.
Wann Open WebUI: bei (a) DSGVO-strikter Anforderung von einem VF-Kunden, (b) wachsenden Anthropic-Subscription-Kosten ueber 4-5 User hinaus, (c) wenn ein Cron/Automation auf das Vault zugreifen muss (Open WebUI hat den vf-vault Sub-MCP ueber unseren Stack, claude.ai nicht).
Was beide gemeinsam haben: SharePoint-Vault als Source-of-Truth. Aenderungen sind ueber OneDrive-Sync und M365-API in beiden Welten sichtbar.
Best-Practices Vorschlaege fuer Christoph (5 Stueck)
Christoph kommt aus eigener Kraft auf saubere Patterns. Diese fuenf Erweiterungen sind aus agentic-ventures-Praxis erprobt — er kann sie uebernehmen wenn er sie ueberzeugend findet. Nicht „muss”.
1. Frontmatter-Pflicht (klein einfuehren)
Christoph hat im Refactor-Plan explizit „keine Frontmatter-Pflicht” geschrieben. Verstaendlich — Frontmatter-Wildwuchs nervt. Aber zwei Felder reichen schon viel:
---
description: Einzeiler was in dieser Datei steht.
last_reviewed: 2026-05-13
---Warum: Cron kann scannen „welche Files haben last_reviewed vor 6 Monaten? Welche haben keine Beschreibung?” → automatischer Drift-Report.
Einfuehrung schmerzfrei: Pflicht nur fuer (a) neue Files, (b) CLAUDE.md + CONTEXT.md + alle _context.md/_index.md. Alte Geschaefts-Files ergaenzen wenn sie sowieso angefasst werden.
2. inbox/ als 11. Top-Level-Ordner
Christoph sagt explizit „keine inbox”. Aber Files landen immer irgendwo bevor sie sortiert sind — heute kontaminieren sie wahrscheinlich 00_Unternehmen/ oder 08_Projekte/ als „weiss-noch-nicht-wo”.
Vorschlag: inbox/ als Top-Level. Regel: max 14 Tage drin, dann muss es sortiert sein. Cron kann monatlich „Files aelter 14 Tage” listen und an Christoph melden.
3. runs/ fuer Research-Reports
Wenn Claude eine Wettbewerbsanalyse macht, einen Kuenstler bio-recherchiert, eine Vorlagen-Migration plant — wo landet das? Heute vermutlich verteilt (Stadtfest-Recherche unter 06_Marketing/..., Konkurrenz-Analyse irgendwo bei 04_Vertrieb).
Vorschlag: runs/YYYY-MM-DD-topic/ als Top-Level. Pro Recherche-Lauf ein Ordner. Ergebnis-Patterns wandern dann sauber in den richtigen Geschaefts-Bereich, der Run-Ordner ist die unveraenderliche Quelle. Genau das Pattern aus agentic-ventures.
4. Status-Tags fuer Projekt-Ordner
08_Projekte/2026-04_Sparkasse_Sommerfest/ heute: nur Datumspraefix + Kunde. Status ist nicht maschinell lesbar.
Vorschlag: _index.md pro Projektordner mit Frontmatter:
---
status: anfrage | bestaetigt | live | abgerechnet | abgesagt
kunde: Sparkasse Hamm
projektleiter: Andre Kollas
event_datum: 2026-08-12
description: Sommerfest fuer Sparkasse Hamm, 350 Gaeste
last_reviewed: 2026-05-13
---Ermoeglicht: „Liste alle Projekte mit Status=live”, „welche sind seit 30 Tagen bestaetigt und sollten in aufbau sein?“. Querverweis in 05_CRM/Sparkasse-Hamm.md auf 08_Projekte/2026-04_Sparkasse_Sommerfest/.
5. Datenintegritaet-Regel
Bei vier Editoren + Claude im Loop: stilles Ueberschreiben einer Kunden-Notiz mit korrigierter Performance-Zahl ist gefaehrlich.
Vorschlag: Statt Original ueberschreiben → ergaenzen mit [KORREKTUR YYYY-MM-DD] Grund: <kurz>. Original bleibt sichtbar. Vor allem bei CRM-Eintraegen, Kalkulationen, Performance-Daten.
Christoph’s Reaktion auf diese 5 ist relevant. Wenn er sagt „brauche ich nicht”, respektieren wir das — er pflegt das Vault, nicht wir.
Drei-Phasen-Roadmap
Phase 1 — Christoph’s Refactor + Open WebUI-Parallel-Setup (2-3 Wochen)
Christoph laeuft seinen Refactor (Phasen A-G aus 2026-05-12_Fahrplan_CLAUDE-md-Refactor_v2.html) in claude.ai durch — ~3h Arbeit, von ihm gesteuert. Wir machen NICHTS in seinem Vault ohne Absprache.
Parallel bei uns:
| Schritt | Was | Wer |
|---|---|---|
| 1.1 | VF-Kundenfile in unserem Vault aktualisieren: GmbH (nicht GbR), Team-Rollen korrekt, Vault-Pfad SharePoint /Workshop/VibeFactory/, claude.ai Cowork als Primaer-Frontend | Marvin (mache ich gleich) |
| 1.2 | Christoph einen Sync schicken mit den 5 Best-Practice-Vorschlaegen + Frage zu Open WebUI als 2. Frontend | Marvin |
| 1.3 | Sprint 2a Teil 1: mcp-m365 v0.3 mit delegated OAuth + Read-Tools (nur lesen zuerst) — fuer beide Frontends nutzbar | Marvin |
| 1.4 | vf-vault Sub-MCP im mcp-vf-hosted: liest CLAUDE.md + _context.md + relevante Vault-Files via m365 — fuer Open WebUI nutzbar | Marvin |
| 1.5 | Open WebUI-Stack-Aenderung: Christoph als Test-User einladen falls er Lust hat | Marvin + Christoph |
Erfolgs-Kriterium Phase 1: Christoph’s Refactor durch, sein Vault sauber. Open WebUI ist erweitert um Vault-Zugriff — kann aber auch ungenutzt liegen falls Christoph bei claude.ai bleibt.
Phase 2 — Andre + Julian + Felix in Open WebUI (optional, nur bei Bedarf)
Trigger fuer Phase 2: einer der drei sagt „ich brauche Multi-User-Workflow” oder „Anthropic-Subscription wird zu teuer” oder „DSGVO-Audit verlangt EU-only”.
| Schritt | Was |
|---|---|
| 2.1 | Sprint 2a Teil 2: m365 v0.3 Write-Tools (Mail Send, Folder/File-Create, Calendar) |
| 2.2 | Sprint 2d: mcp-replicate-hosted wenn Julian Bild/Video-Bedarf hat |
| 2.3 | Sprint 2e: 4-6 Skills aus Real-Use abgeleitet |
| 2.4 | Open WebUI Group-Permissions: Steward / Team / Restricted (Praktikant) |
Ohne Phase-2-Trigger laeuft Open WebUI im Stand-by — wir zahlen ~55 €/Mo Hosting fuer den Fall, dass es gebraucht wird.
Phase 3 — Cron-Pflege + Praktikant + Polish
| Schritt | Was |
|---|---|
| 3.1 | Cron-Routinen via routine-anlegen-Skill: Vault-Drift-Check (Frontmatter aus Best-Practice 1), Stale-Inbox-Cleanup (Best-Practice 2), PENDING-Marker-Liste |
| 3.2 | Sync-Crons: Papierkram-Eingangsrechnungen → Vault-Run-Report, TicketPAY-Wochen-Snapshot |
| 3.3 | Praktikant: Permission-Group, wenn Praktikant existiert |
| 3.4 | Email-Sync wenn Bedarf |
| 3.5 | Canva-Integration als Sub-MCP in Open WebUI (Christoph hat es schon in claude.ai) |
DSGVO-Stack
- SharePoint EU (M365-Tenant
vibefactorygbr.sharepoint.com) → Microsoft AVV - claude.ai Cowork → Anthropic AVV (USA, mit Zero-Retention via Enterprise-Tier wenn gebucht)
- Open WebUI auf AWS Fargate eu-central-1 → AWS AVV
- Bedrock EU → AWS / Anthropic AVV (rein EU-Region)
- Canva → US-Vendor mit AVV
- mcp-vf-hosted → AV’s Account, AV’s AVV mit VF
Subprozessoren-Liste pro Frontend ergaenzt. Bei claude.ai-Cowork: Anthropic + alle eingebundenen Connectors. Bei Open WebUI: AWS + alle hosted MCPs. Bei VF-Audit klar getrennt dokumentierbar.
Permission-Modell konkret
| Layer | Mechanismus |
|---|---|
| claude.ai Cowork | Per-User-Account, Microsoft-OAuth fuer Connectors. Christoph entscheidet wer Cowork bekommt |
| Open WebUI Groups | Steward (Christoph + Marvin), Team (Andre, Julian, Felix), Restricted (Praktikant). Per-Group Models + Skills + MCPs |
| m365 delegated | OAuth pro User. Jeder schreibt unter eigener Identitaet. Praktikant bekommt eingeschraenkte Scopes |
| SharePoint File-Level | OneDrive/SharePoint-ACLs: CLAUDE.md + Standards/Regeln nur fuer Christoph editier-berechtigt |
OFFENE PUNKTE
- Christoph’s Reaktion auf die 5 Best-Practices: nimmt er sie an, lehnt er sie ab? → Sync mit ihm. Update 2026-05-20: parallel laeuft jetzt 2026-05-20-sharepoint-openwebui-integration (Anti-Doppelungs-Integration SharePoint ←> OpenWebUI). Phase B (Prompt-Patches in
~/source/apps/open-webui-vf/prompts/vf-sonnet.txt+vf-nova.txt) ist erledigt, Deploy steht aus, Phase A (neue „Frontends”-Section in SharePoint-CLAUDE.md) braucht Christophs Genehmigung — der entsprechende Mail-Draft ist Teil des Plans. - Christoph’s Open-WebUI-Interesse: will er es als 2. Frontend testen oder bleibt er bei claude.ai-only? → in selbigem Sync mitfragen
- Julian-Bedarf fuer Replicate-MCP: heute nutzt er Canva direkt in claude.ai. Wenn das reicht, brauchen wir mcp-replicate-hosted vielleicht gar nicht
- AVV-Subprozessoren-Liste fuer VF: muss aktualisiert werden wenn Open WebUI aktiv genutzt wird (AWS + alle MCPs als Subprozessoren)
- Phase-2-Trigger: was muss konkret passieren damit Open WebUI von Stand-by zu aktiv geht? Marvin + Christoph zusammen entscheiden
Was das NICHT bedeutet (Anti-Patterns)
- Kein „wir muessen Christoph zwingen Open WebUI zu nutzen” — claude.ai funktioniert fuer ihn
- Kein doppelter Vault. Vault bleibt SharePoint, beide Frontends greifen drauf zu
- Kein Ueberschreiben von Christoph’s CLAUDE.md ohne Absprache. Er ist Vault-Owner
- Kein Voll-Sync von SharePoint nach AV-Vault. Wir referenzieren, kopieren nicht
- Kein Cron der Christoph nervt. Reports gehen in
Vault/runs/oder als Pull-Email an ihn, kein Push-Spam
Cross-Refs
- _index — Open WebUI fuer VF Projekt
- sprint-2-master-plan — taktische Sprint-Aufteilung (wird angepasst sobald Christoph-Sync durch)
- vibe-factory — Kunden-File (Korrektur GmbH ausstehend)
- mcp-vf-hosted — der Mono-MCP (bekommt vf-vault als neuen Sub)
- open-webui-vf — Live-Capability
- agent-native-architektur — Pattern-Source
- 2026-05-13-vf-vault-analyse — Run-Bericht mit Christoph’s Vault-Dump
- routine-anlegen — Cron-Routine-Generator (fuer Phase 3)