From 849c21ad59200bbc07d04ebfe9bc92196c297099 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Sat, 22 Aug 2026 22:45:42 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20216=20Architektur-Fehler=20(ARCH-001=20?= =?UTF-8?q?bis=20ARCH-216)=20=E2=80=94=20vollst=C3=A4ndiges=20Code-Review?= =?UTF-8?q?=20abgeschlossen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/test-bugs.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/test-bugs.md b/docs/test-bugs.md index 4e5435d..cd7bebe 100644 --- a/docs/test-bugs.md +++ b/docs/test-bugs.md @@ -2072,3 +2072,39 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Problem:** `DB_PASSWORD` wird für alle DB-Roles (crm_api, crm_auth, crm_worker, crm_user) verwendet. Jede Role sollte ein eigenes Password haben für Security-Isolation. - **Schweregrad:** Medium - **Status:** ⏳ Nicht gefixt + +### ARCH-211: permission_audit.py — hardcoded deutsche Strings in Notifications +- **Datei:** app/services/permission_audit.py:30-32 +- **Problem:** 'Neue Berechtigung', '{perm.entity_type} wurde mit dir geteilt' — hardcoded deutsche Strings in create_notification(). +- **Schweregrad:** Low +- **Status:** ⏳ Nicht gefixt + +### ARCH-212: owner_transfer_service.py — ENTITY_TABLES statisch +- **Datei:** app/services/owner_transfer_service.py:16-26 +- **Problem:** ENTITY_TABLES ist statisch. Neue Plugin-Tabellen werden nicht erfasst. Owner Transfer funktioniert nur für Core-Tabellen. +- **Schweregrad:** Medium +- **Status:** ⏳ Nicht gefixt + +### ARCH-213: policy_service.py — ABAC_ALLOWED_FIELDS statisch +- **Datei:** app/services/policy_service.py:33-36 +- **Problem:** ABAC_ALLOWED_FIELDS ist statisch. Neue Plugin-Entities können keine ABAC Policies verwenden. +- **Schweregrad:** Medium +- **Status:** ⏳ Nicht gefixt + +### ARCH-214: workspaceStore.ts — visibleModuleKeys() gibt ALLE Module zurück (bestätigt ARCH-004) +- **Datei:** frontend/src/store/workspaceStore.ts:88-91 +- **Problem:** `visibleModuleKeys: () => new Set(ctx?.modules?.map(m => m.module_key) || [])` — gibt alle Module zurück, nicht nur sichtbare. is_visible wird nicht gefiltert. +- **Schweregrad:** High +- **Status:** ⏳ Nicht gefixt + +### ARCH-215: useAIContext.ts — POST ohne Error-Handling +- **Datei:** frontend/src/hooks/useAIContext.ts:14 +- **Problem:** `apiClient.post('/ai-proactive/context', {...}).catch(() => {})` — Fehler werden still verschluckt. Kein Logging, kein Error-Handling. +- **Schweregrad:** Low +- **Status:** ⏳ Nicht gefixt + +### ARCH-216: contact_folder_permission_service.py — _rank() dupliziert (5. Kopie) +- **Datei:** app/services/contact_folder_permission_service.py:22 +- **Problem:** _rank() Funktion ist jetzt in 5 Dateien definiert (visibility.py, permission_resolver.py, bulk_permission_service.py, contact_folder_permission_service.py, und in permissions.py als PERM_RANK). Sollte zentralisiert werden. +- **Schweregrad:** Low +- **Status:** ⏳ Nicht gefixt