docs: 170 Architektur-Fehler (ARCH-001 bis ARCH-170) durch systematisches Code-Review dokumentiert

This commit is contained in:
Agent Zero
2026-08-22 22:42:47 +02:00
parent fb98e06cec
commit 1eac7546bc
+90
View File
@@ -1742,3 +1742,93 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te
- **Problem:** `from app.models.contact import Contact` — Plugin importiert Core Model. Contact ist Core aber auch Plugin (ARCH-005). Doppelarchitektur.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-156: CustomFieldRenderer.tsx — Duplikat in zwei Ordnern
- **Datei:** frontend/src/components/contacts/CustomFieldRenderer.tsx, frontend/src/components/custom-fields/CustomFieldRenderer.tsx
- **Problem:** CustomFieldRenderer existiert in beiden Ordnern. Duplikat.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-157: components/knowledge/ — leerer Ordner
- **Datei:** frontend/src/components/knowledge/
- **Problem:** Ordner existiert aber enthält 0 Dateien. Entweder tot oder unvollständig.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-158: components/contact/ — leerer Ordner
- **Datei:** frontend/src/components/contact/
- **Problem:** Ordner existiert aber enthält 0 Dateien. Entweder tot oder unvollständig.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-159: components/agents/AgentChat.tsx — AI Chat wurde in Kommunikation integriert
- **Datei:** frontend/src/components/agents/AgentChat.tsx
- **Problem:** AI Chat wurde in Phase 2 in Kommunikation integriert. AgentChat.tsx ist möglicherweise ungenutzt.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-160: ContactList.tsx — hardcoded ALL_COLUMNS (TODO P2-F18)
- **Datei:** frontend/src/components/contacts/ContactList.tsx:2
- **Problem:** TODO: 'Replace hardcoded ALL_COLUMNS with backend/manifest config'. Hardcoded Column-Definitions.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-161: MailList.tsx — inline style (TODO P3-F6)
- **Datei:** frontend/src/components/mail/MailList.tsx:2
- **Problem:** TODO: 'Replace inline style with Tailwind classes'. Inline styles statt Tailwind.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-162: NotificationBell.tsx — TODO Migrate to communication API
- **Datei:** frontend/src/components/layout/NotificationBell.tsx:2
- **Problem:** TODO: 'Migrate from /notifications to communication API'. Verwendet noch deprecated /notifications API.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-163: DashboardWidgetLoader.tsx — hardcoded widgetRegistry (TODO P2-F17)
- **Datei:** frontend/src/components/dashboard/DashboardWidgetLoader.tsx:2
- **Problem:** TODO: 'Replace hardcoded widgetRegistry with dynamic manifest config'. Hardcoded Widget-Registry.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-164: AISidebar.tsx — importiert createSession, fetchSessions (Phase 2 entfernt)
- **Datei:** frontend/src/components/layout/AISidebar.tsx:6
- **Problem:** `import { createSession, fetchSessions } from '@/api/ai'` — AI Sessions wurden in Phase 2 entfernt. Funktionen existieren möglicherweise nicht mehr.
- **Schweregrad:** High
- **Status:** ⏳ Nicht gefixt
### ARCH-165: WorkspaceSwitcher.tsx — hardcoded Tailwind dark: classes
- **Datei:** frontend/src/components/layout/WorkspaceSwitcher.tsx:35
- **Problem:** `dark:bg-gray-900`, `dark:text-gray-300` — hardcoded Tailwind dark: classes statt design tokens (secondary-*, primary-*).
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-166: BlockRenderer.tsx — hardcoded switch-case für Block-Typen
- **Datei:** frontend/src/components/comm/blocks/BlockRenderer.tsx:30
- **Problem:** Hardcoded switch-case für Block-Typen. Neue Block-Typen können nicht dynamisch hinzugefügt werden.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-167: AiChatPanel.tsx — kein API cancel bei unmount
- **Datei:** frontend/src/components/window/AiChatPanel.tsx:50
- **Problem:** Erstellt comm conversation bei mount, aber bei unmount wird nur `cancelled = true` gesetzt. Die Konversation wird nicht gelöscht. Leak von leeren Konversationen.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-168: ContactDetail.tsx — importiert useAIUIControlStore (Plugin-Abhängigkeit)
- **Datei:** frontend/src/components/contacts/ContactDetail.tsx:14
- **Problem:** `import { useAIUIControlStore } from '@/store/aiUIControlStore'` — ContactDetail hängt von AI UI Control Plugin ab. Core-Component hängt von Plugin ab.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-169: CalendarTree.tsx — TYPE_ORDER hardcoded
- **Datei:** frontend/src/components/calendar/CalendarTree.tsx:15
- **Problem:** `const TYPE_ORDER: CalendarType[] = ['personal', 'team', 'project', 'company']` — hardcoded. Nicht dynamisch erweiterbar.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-170: DashboardGrid.tsx — drag-and-drop speichert nicht in Backend
- **Datei:** frontend/src/components/dashboard/DashboardGrid.tsx:35
- **Problem:** Drag-and-drop ändert nur local state (`setWidgets`). Widget-Position wird nicht in Backend gespeichert. Bei Reload geht die Anordnung verloren.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt