Files
HiveGrid-Wireframes/hivegrid-cloud/docs/milestones
..

HiveGrid 2.0 — Master-Milestone-Index

Diese Datei ist der vollständige Plan für die Phase-1-Umsetzung des HiveGrid-2.0-Pflichtenhefts (_bmad-output/pflichtenheft/).

Gesamt: 176 Milestones, gegliedert in zwei Querschnitt-Blöcke (Bauprinzipien + UI-Hot-Swap-Architektur) plus 7 Pflichtenheft-Blöcke.

Jeder Milestone hat ein eigenes Verzeichnis mit PLAN.md. Die Slice- und Task-Planung pro Milestone übernimmt der ToolController auf Basis dieser Dateien.

Vorbedingungen (außerhalb dieses Plans)

  • EU-Sterilisation der Boilerplate — Anthropic/OpenAI/Google-Auth raus, Mistral/Scaleway/AlephAlpha rein, TOTP+Magic-Link rein.
  • RR7-Migration der Boilerplate zu Ende — Root-Runtime → apps/web, hybrider Status auflösen.
  • AGENTS.md im Repo-Root — zentrale Regel-Datei für AI-Agents (Layer-Grenzen, Anti-Patterns, Import-Regeln). Wird mit M001 angelegt.

Erst danach beginnt die aktive Modul-Umsetzung.

Querschnitt-Hülle Teil 1: Bauprinzipien als Code (M001-M011)

ID Titel Bauprinzip
M001 Audit-Log default A.6
M002 Klartext-Diagnostik A.1
M003 i18n-Pflicht-Wiring A.4
M004 Tenant-Scope-Wrapper + Owner-Check A.5 Teil 1
M005 URL-Tampering Hardening + Mass-Action-Schutz A.5 Teil 2
M006 Feature-Flag-Engine (Code-Layer) A.7
M007 Idempotenz-Wrapper für BullMQ A.8
M008 Apps-Engine: Adapter-Interface + State-Machine A.2 Teil 1
M009 Apps-Engine: Setup-Wizard + Sync-Log A.2 Teil 2
M010 Apps-Engine: Probe-Scheduler + Webhook-Sturm-Schutz A.2 Teil 3 + A.16
M011 Notification-Service-Layer —

Querschnitt-Hülle Teil 2: UI-Hot-Swap-Architektur (M012-M017)

ID Titel Zweck
M012 Workspace-Topologie (view-models, ui-hivegrid, ui-subframe) Drei getrennte Pakete + ESLint-Boundary-Rules
M013 View-Model-Konvention Daten-Shape-Regeln + Zod-Schemas + lint-erzwungen
M014 Action-Callback-Contract Standard-Shape für UI→Server-Aktionen
M015 Subframe-Adapter-Layer Brücke Subframe-Output → HiveGrid-Pages
M016 Visual-Regression-Gate Playwright Screenshot-Diff in CI
M017 Hot-Swap-Drill Synthetischer UI-Lib-Tausch in CI

Block 1 — Plattform-Fundament

M27 Anmeldung/Mandanten/Rollen

ID Titel
M018 Mandanten-Anlage
M019 Mandanten-Trennung Hardening
M020 Email/Passwort-Auth + HIBP + Brute-Force
M021 Magic-Link + Sitzungs-Verwaltung
M022 TOTP-2FA + Notfall-Codes
M023 Rollen-Engine + 6 SHK-Standard-Rollen + Gruppen
M024 Mitarbeiter-Einladung/Deaktivierung
M025 Konto-Löschung (User + Admin)
M026 Mandanten-Lebenszyklus
M027 API-Keys + Tarif-Feature-Gates

M30 Mehrsprachigkeit

ID Titel
M028 User/Tenant Sprach-Settings + Auflösungs-Reihenfolge
M029 Sprach-Wechsler + Fallback-Hinweise

M31 Branding

ID Titel
M030 Hell/Dunkel-Modus + Capacitor-Status-Bar

M32 Feature-Flag Admin-UI

ID Titel
M031 Schalter-Definition + Lifecycle
M032 Filter-Editor + Einzel-Ausnahme-Editor
M033 Massen-Funktionen + Statistik + Audit-Historie

M37 Plattform-Admin

ID Titel
M034 Plattform-Admin-Auth (admin.)
M035 Plattform-Admin-Dashboard
M036 Mandanten-Verwaltung
M037 Stellvertreter-Anmeldung
M038 Mandanten-Mitarbeiter-Verwaltung
M039 Plattform-Admin-Konten + Rollen
M040 Interne Lead-Pipeline + Promote-to-Tenant
M041 System-Health + Audit-Anzeige + Datenschutz + Support

Block 2 — CRM-Kern

M1 CRM

ID Titel
M042 Kontakt-Stammdaten
M043 Firma-Stammdaten + Hierarchie
M044 Schlagwörter + Custom-Felder
M045 Aktivitäts-Stream
M046 Listen + Segmente + DSGVO-Felder

M2 Lead-Inbox

ID Titel
M047 Lead-Inbox-Schema + Quellen-Adapter
M048 Lead-Routing pro Quelle [N4]
M049 Auto-Verkaufsfall-Anlage
M050 Spam/Duplikat-Erkennung
M051 Lead-Status-Pipeline + Verlust-Gründe

M23 Dateien

ID Titel
M052 Datei-Upload (Anti-Virus + Format-Whitelist)
M053 Speicher-Backend (S3 auf Scaleway)
M054 Permissions + Sharing + Versionierung
M055 Datei-Suche + Tagging + Archivierung

M24 Globale Suche

ID Titel
M056 Such-Index (Postgres FTS / Meilisearch)
M057 Permission-aware Search
M058 Such-UI + Saved-Searches

Block 3 — Vertrieb & Auftrag

M3 Sales-Pipeline

ID Titel
M059 Pipeline-Konfiguration + SHK-Standard-Pipeline
M060 Verkaufsfall-CRUD + Pflichtfeld Vertriebler [N6]
M061 Kanban-UI + Drag&Drop
M062 Verlust/Gewinn-Gründe [N8]
M063 Auto-Auftragsprojekt [N7] + Setter-Closer [N17]
M064 Pipeline-Reporting + KWP-Sync

M4 Auftragspipeline

ID Titel
M065 Auftragspipeline-Konfiguration
M066 Auftrag-CRUD + KWP-Dokumenten-Archiv [N5]
M067 Plantafel mit Tagen-Granularität [N10]
M068 Mitglieder-Mgmt + Rollen pro Auftrag
M069 Abnahme-Workflow + Mängel-Liste
M070 Material-Listen + Lager-Anbindung

M26 Aufgaben

ID Titel
M071 Aufgaben-CRUD + Zuweisung
M072 Aufgaben-Listen pro Modul
M073 Erinnerungen + Push + Email
M074 Aufgaben-Sync mit ERP [N11]

Block 4 — USP-Säulen

M17 Automation-Engine

ID Titel
M075 Automation-Schema + Auslöser-Registry
M076 Aktion-Registry + Steuerungs-Bausteine
M077 Bedingungen
M078 Visueller Editor (xyflow)
M079 Test-Lauf + Schwellenwert-Vorschau
M080 24h-Undo-Fenster + Reversibilität
M081 Schleifen-Schutz + Webhook-Sturm + Anomalie
M082 Klartext-Logs + Re-Run + Trigger-Volumen-Metering

M18 KI-Layer

ID Titel
M083 EU-Provider-Layer (Mistral/Scaleway/AlephAlpha)
M084 Multi-Provider-Fallback + 30-Min-Health-Window
M085 Promptfoo-Eval-Suite mit Injection-Vektoren in CI
M086 KI-Sprach-zu-Automation
M087 RAG-Layer + Aktions-Grenze
M088 Token-Limits + Pay-as-you-go [N13]

M19 KWP-Integration

ID Titel
M089 KWP-API-Connector (REST/OAuth über Apps-Engine)
M090 KWP-API Connection-Health
M091 KWP-Push-Queue + Replay (Cloud-Outbox)
M092 KWP-API-Contract-Sentinel
M093 Konflikt-Auflösung „KWP gewinnt" [N14]
M094 Bidirektionale Plantafel-Sync [N10]
M095 Dokumenten-Archiv-Sync KWP→HiveGrid [N5]

Re-Cut 2026-06-04: KWP bekommt eine offizielle API → Architektur von 3 auf 2 Komponenten, kwpsync.exe entfällt. Verbindlich: docs/milestones/M19-KWP-API-RECUT.md.

Block 5 — Kommunikation

M9 Email-Inbox

ID Titel
M096 Gmail-OAuth-Integration via Apps-Engine
M097 Email-Sync + Inbox-UI + Threading
M098 Email-Versand + Vorlagen
M099 Email-Tracking + Bounces

M10 Email-Marketing

ID Titel
M100 Marketing-Email-Editor
M101 Segmente + Empfänger-Auswahl
M102 Versand-Engine + DKIM/SPF
M103 A/B-Tests + Reporting
M104 Unsubscribe + Bounce-Handling

M12 Telefonie [N16]

ID Titel
M105 HalloPetra-Adapter
M106 AirCall-Adapter
M107 Anruf-Eingang + CRM-Verknüpfung
M108 Anruf-Ausgang + Click-to-Call
M109 Voicemail + Anruf-Notizen + Aufgaben-Auto

M13 Team-Chat

ID Titel
M110 Channel-Modell + Permissions
M111 Direkt-Nachrichten + Threading
M112 Datei/Foto-Anhänge
M113 Modul-Verknüpfungen
M114 Mentions + Push + Lese-Bestätigungen

M22 Notifications-Center (Service-Layer in M011)

ID Titel
M115 Notification-Center + Lese-Status
M116 User-Settings (Kanal + Stille Stunden)
M117 Kategorien + Bündelung

M25 Calendar-Sync

ID Titel
M118 Google-Calendar-Adapter
M119 Termin-Sync (bi-direktional)
M120 Termin-Display + Modul-Verknüpfung

Block 6 — Spezialfälle & Außenseite

M5 Form-Builder

ID Titel
M121 Form-Editor
M122 Form-Veröffentlichung
M123 Submission-Eingang + CRM-Verknüpfung
M124 Conditional-Display (kein Branching)
M125 Rate-Limit + Captcha + DSGVO

M6 Booking

ID Titel
M126 Buchungs-Seite + Time-Slot-Engine
M127 Verfügbarkeits-Berechnung
M128 Bestätigungs-Flow
M129 Stornierung + No-Show-Tracking

M7 Angebot+Signatur

ID Titel
M130 Angebots-Erstellung
M131 PandaDoc/DocuSign-Integration
M132 Status-Tracking + Verkaufsfall-Verknüpfung

M14 HR-Hub

ID Titel
M133 Mitarbeiter-Stammdaten
M134 Dokumente-Bereich
M135 Urlaubs-Anträge
M136 Krankmeldungen
M137 Mitarbeiter-Kommunikation
M138 Onboarding-Drittanbieter [N18]
M139 HR-Berichte + Lohn-Export
M140 Mitarbeiter-Selbstbedienung

M15 Customer-Portal

ID Titel
M141 Customer-Portal-Auth
M142 Projekt-Sicht für Endkunde
M143 Datei-Upload durch Endkunde
M144 Subunternehmer-Zugang [N19]
M145 Skalierungs-Sicht [N19]
M146 Pro-Kunde-Lebensdauer-Mgmt [N19]

M20 GF-Dashboard

ID Titel
M147 Dashboard-Layout + Widget-Engine
M148 Standard-Widgets
M149 Custom-Widgets
M150 Export + Report-Versand

Block 7 — Compliance & Plattform-Außenseite

M21 Audit-Log Anzeige

ID Titel
M151 Audit-Log-Anzeige + Filter + Volltext
M152 Audit-Export + Aufbewahrungs-Mgmt

M28 Subscriptions

ID Titel
M153 Stripe-Integration
M154 Plan-Engine + Seat-Modell
M155 Trial + Read-Only-Downgrade
M156 Trigger-Volumen-Metering [N13]

M29 Onboarding

ID Titel
M157 Onboarding-Wizard-Framework
M158 SHK-Standard-Daten-Provisionierung
M159 Branchen-Templates deklarativ (A.3)
M160 Test-Daten + Demo-Modus

M34 Public-API

ID Titel
M161 OpenAPI-Spec + Read-API
M162 API-Key-Auth + Rate-Limit
M163 Webhooks (signiert)

M35 DSGVO

ID Titel
M164 Daten-Export
M165 Lösch-Workflow + Anonymisierung
M166 Auskunfts-Workflow

M36 Mobile-App

ID Titel
M167 Capacitor-Setup + Build-Pipeline
M168 Native-Push + Status-Bar
M169 Mobile-First-Routes
M170 Offline-First für Foto-Upload
M171 App-Store-Compliance

M38 Help-Center

ID Titel
M172 Hilfe-Artikel-Mgmt
M173 Hilfe-Suche + Kontextuelle Hinweise

M39 Help-Desk

ID Titel
M174 Support-Ticket-Eingang
M175 Self-Service-Knöpfe

Doku

ID Titel
M176 Anti-Liste + Change-Request-Workflow als Repo-Doku (A.9)

Bewusst NICHT in Phase 1 (Anti-Liste)

  • M8 Rechnungs-UI (geparkt nach KWP-GF-Termin)
  • M16 Knowledge Base / Wiki
  • M33b Community-App-Marketplace
  • M33c Template-Marketplace
  • M40 CMS / Sites / Blog (komplett ausgeschlossen)
  • WhatsApp-Inbox, Unified Inbox [N15] (Phase 2)
  • Apple-Login, Google-OAuth, Microsoft-Anmeldung
  • GraphQL-API
  • Schreibendes Public-API
  • Hardware-Sicherheits-Schlüssel (FIDO2/WebAuthn)
  • IP-Whitelisting, SAML/SSO
  • Custom-Subdomain pro Mandant (außer Enterprise Phase 2)
  • Branding-White-Label, Custom-Fonts (Phase 2)
  • Sub-Workflows / Loops in Automation-Engine
  • Custom-JS-Expressions in Automation-Conditions
  • Eigene Buchhaltungs-Adapter (LexOffice, sevDesk, FastBill, Datev)
  • Andere ERPs (Taifun, TopKontor, Streit V.1)
  • Sipgate-Telefonie, sonstige Telefonie-Anbieter
  • Service-Modul (Wartung/Service als eigene Pipeline) — Phase 2 [N9]
  • HiveMind als autonomer Agent
  • NFC, Bluetooth, advanced native Mobile-Features
  • Versionierung von Angeboten

Vollständige Begründungen siehe _bmad-output/pflichtenheft/02-vision.md Kapitel V.3.

Architektur-Entscheidungen (kommen aus Party-Mode-Diskussion 2026-05-10)

  • Designer-Workflow: Subframe → Code-Output → User → AI-Agent → Integration. Subframe ist der Component-Catalog (kein separates Storybook).
  • Daten-Fluss: Synchron im Loader. Server bereitet View-Model auf, UI-Component bekommt fertiges VM als Prop.
  • Agent-Regeln: Eine zentrale AGENTS.md im Repo-Root. Pro Modul keine Sonder-Regeln, außer ausdrücklich nötig.
  • Layer-Trennung (lint-erzwungen):
    • app/routes/** → Loaders/Actions, baut View-Models, importiert packages/ui-hivegrid. Keine direkten Prisma-Calls.
    • app/domain/** → Domain-Logik, Prisma, BullMQ. Importiert NIE React oder UI.
    • packages/view-models/** → reine Funktionen (domain → VM). Kein React, kein Prisma.
    • packages/ui-hivegrid/** → Library-Adapter. Kennt weder Prisma noch Routen noch Auth.
    • packages/ui-subframe/** → Subframe-Output unangefasst. Wird NIE direkt von Routes importiert.