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.mdim 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.exeentfä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.mdim Repo-Root. Pro Modul keine Sonder-Regeln, außer ausdrücklich nötig. - Layer-Trennung (lint-erzwungen):
app/routes/**→ Loaders/Actions, baut View-Models, importiertpackages/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.