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

This commit is contained in:
Agent Zero
2026-08-22 22:34:39 +02:00
parent 624699bf8d
commit f7f8a302f8
+30
View File
@@ -1166,3 +1166,33 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te
- **Problem:** `const visibleModuleKeys = useWorkspaceStore(s => s.visibleModuleKeys())` — bei jedem Render wird ein neues Set erstellt. Sollte useMemo verwenden.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-060: step_handlers.py — MailContract.get_function() existiert nicht
- **Datei:** app/workflows/step_handlers.py:221,261,306,351,394
- **Problem:** `MailContract.get_function("send_email")` — MailContract hat keine get_function() Methode. Es hat nur `Mail = Mail`. Alle 5 Step-Handler (mail, calendar, dms, search, automation) sind kaputt.
- **Schweregrad:** High
- **Status:** ⏳ Nicht gefixt
### ARCH-061: unified_search/contracts.py — get_contract() umgeht Registry
- **Datei:** app/plugins/builtins/unified_search/contracts.py:38-43
- **Problem:** `get_contract()` erstellt eine NEUE Instanz statt die registrierte aus der Registry zu verwenden. Umgeht die Contract Registry und Plugin-Aktivierungsstatus-Prüfung.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
### ARCH-062: mail/contracts.py — MailContract hat keine send_email Funktion
- **Datei:** app/plugins/builtins/mail/contracts.py
- **Problem:** MailContract hat nur `Mail = Mail` aber step_handlers.py erwartet `get_function("send_email")`. Contract ist unvollständig.
- **Schweregrad:** High
- **Status:** ⏳ Nicht gefixt
### ARCH-063: cache.py — Cache und Session-Store verwenden dieselbe Redis-Instanz
- **Datei:** app/core/cache.py:12
- **Problem:** `get_cache()` delegiert an `get_redis()` — Cache und Session-Store verwenden dieselbe Redis-Instanz. Keine Trennung, kein Namespace-Prefix.
- **Schweregrad:** Low
- **Status:** ⏳ Nicht gefixt
### ARCH-064: middleware.py — CSP erlaubt WebSocket zu jedem Server
- **Datei:** app/core/middleware.py:33
- **Problem:** `connect-src 'self' wss: ws:` — WebSocket-Verbindungen zu jedem wss/ws Server erlaubt, nicht nur zum eigenen Server. Sollte `connect-src 'self'` sein.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt