From 49ca4c5fb23ba2b36bf81190abc5e897ad70ba24 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Mon, 24 Aug 2026 21:26:41 +0200 Subject: [PATCH] =?UTF-8?q?fix(i-c):=20ARCH-026=20behoben=20=E2=80=94=20fe?= =?UTF-8?q?hlende=20Manifest-Deklarationen=20ergaenzt=20(automation?= =?UTF-8?q?=E2=86=92mail,=20mcp=5Fserver=E2=86=92unified=5Fsearch,=20tasks?= =?UTF-8?q?=E2=86=92kommunikation,=20self=5Fimprovement=E2=86=92kommunikat?= =?UTF-8?q?ion);=20resolve=5Fload=5Forder=20verifiziert=2025=20plugins=20t?= =?UTF-8?q?opologisch=20ohne=20Zyklen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/plugins/builtins/automation/plugin.py | 2 +- app/plugins/builtins/mcp_server/plugin.py | 2 +- app/plugins/builtins/self_improvement/plugin.py | 2 +- app/plugins/builtins/tasks/plugin.py | 2 +- docs/test-bugs.md | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/plugins/builtins/automation/plugin.py b/app/plugins/builtins/automation/plugin.py index 78b60fe..8d9fac2 100644 --- a/app/plugins/builtins/automation/plugin.py +++ b/app/plugins/builtins/automation/plugin.py @@ -38,7 +38,7 @@ class AutomationPlugin(BasePlugin): "Define AI agents with LLM models and tools, create event/schedule/manual " "automations with conditions and actions, schedule cron jobs, and track execution logs." ), - dependencies=[], + dependencies=["mail"], routes=[ PluginRouteDef( path="/api/v1/automation", diff --git a/app/plugins/builtins/mcp_server/plugin.py b/app/plugins/builtins/mcp_server/plugin.py index d795609..30b0093 100644 --- a/app/plugins/builtins/mcp_server/plugin.py +++ b/app/plugins/builtins/mcp_server/plugin.py @@ -14,7 +14,7 @@ class McpServerPlugin(BasePlugin): version="1.0.0", display_name="MCP Server", description="Exposes LeoCRM data (contacts, calendar, mail, DMS) to external MCP clients via API-token auth.", - dependencies=["permissions"], + dependencies=["permissions", "unified_search"], routes=[ PluginRouteDef( path="/api/v1/mcp", diff --git a/app/plugins/builtins/self_improvement/plugin.py b/app/plugins/builtins/self_improvement/plugin.py index ea85f92..8dec420 100644 --- a/app/plugins/builtins/self_improvement/plugin.py +++ b/app/plugins/builtins/self_improvement/plugin.py @@ -24,7 +24,7 @@ class SelfImprovementPlugin(BasePlugin): version="1.0.0", display_name="Self-Improvement", description="Controlled self-improvement loop: signals, patterns, proposals, evaluation, approval, activation, rollback, impact measurement.", - dependencies=["permissions", "automation", "ai_proactive"], + dependencies=["permissions", "automation", "ai_proactive", "kommunikation"], routes=[ PluginRouteDef( path="/api/v1/improvement", diff --git a/app/plugins/builtins/tasks/plugin.py b/app/plugins/builtins/tasks/plugin.py index 7ffa6ad..6dd8044 100644 --- a/app/plugins/builtins/tasks/plugin.py +++ b/app/plugins/builtins/tasks/plugin.py @@ -21,7 +21,7 @@ class TasksPlugin(BasePlugin): version="1.0.0", display_name="Tasks", description="Manage free tasks/activities with status, priority, due dates, and contact links.", - dependencies=["permissions"], + dependencies=["permissions", "kommunikation"], routes=[ PluginRouteDef( path="/api/v1/tasks", diff --git a/docs/test-bugs.md b/docs/test-bugs.md index 2ba7a15..f6accb8 100644 --- a/docs/test-bugs.md +++ b/docs/test-bugs.md @@ -486,7 +486,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Erwartet:** Field-Level Permissions werden in contacts routes geprüft - **Tatsächlich:** Keine field_permission oder field_level Referenzen in contacts routes - **Schweregrad:** Medium -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Klassifiziert 2026-08-24 (Block E/I-C): Kein Regression/Defekt — Field-Level Permissions waren NIE in contacts routes implementiert (Feature-Gap). Infrastruktur vorhanden: deps.py löst field_permissions auf (Zeilen 154/157/228), zentrale sensitive_data.py bietet get_sensitive_fields/sanitize_dict. Umsetzung als eigener Feature-Task: zentrale filter_by_field_permissions()-Utility + Anwendung in contacts Read-Endpoints + Tests; priorisiert HINTER den Defekt-Fixes (kein kaputtes Verhalten, nur fehlende Granularität). ### BUG-069: 33 potentially unused Python modules - **Kategorie:** Architektur / Dead Code @@ -971,7 +971,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Dateien:** app/plugins/builtins/tasks/plugin.py, wiki/plugin.py, self_improvement/plugin.py - **Problem:** tasks importiert von kommunikation (dependencies=["permissions"]), wiki importiert von unified_search (dependencies=["permissions"]), self_improvement importiert von kommunikation (dependencies=["permissions","automation","ai_proactive"]). Die tatsächlichen Cross-Plugin-Dependencies (kommunikation, unified_search) sind nicht deklariert. - **Schweregrad:** Medium -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Gefixt 2026-08-24 (Block E/I-C): Audit deklarierte vs. tatsächliche Dependencies — 6 Plugins nutzten Cross-Plugin-Contracts ohne vollständige Deklaration; 4 Lücken behoben (automation→mail, mcp_server→unified_search, tasks→kommunikation, self_improvement→kommunikation); wiki hatte unified_search bereits korrekt. Verifikation: ruff clean ×4, resolve_load_order OK (25 plugins topologisch, keine Zyklen/fehlende Deps). ### ARCH-027: config.py Default SECRET_KEY hardcoded - **Datei:** app/config.py:63