docs: block a progress - arch-043/052/008/009 fixed and verified

This commit is contained in:
Agent Zero
2026-08-23 18:41:21 +02:00
parent 795307754f
commit 73d2e109cd
2 changed files with 10 additions and 5 deletions
+4 -4
View File
@@ -843,13 +843,13 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te
- **Datei:** app/plugins/builtins/kommunikation/plugin.py:44, app/routes/dashboard.py:23
- **Problem:** kommunikation verwendet 'comm:read', dashboard verwendet 'dashboard:read'. Andere Plugins verwenden 'pluginname:read'.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
- **Status:** ✅ Gefixt 2026-08-23 (Block A): Kanon-Schema modul:aktion festgelegt (docs/permissions.md), Manifest-Validator erzwingt es bei Load-Time, Quellvertragstest verhindert 3-Segment-Literals in app/routes
### ARCH-009: Default-Rollen core:*:read matcht nicht Plugin-Permissions
- **Datei:** alembic/versions/0019_rbac_groups.py:80, app/core/permissions.py:46-50
- **Problem:** `core:*:read` (3 Segmente) matcht nicht `contacts:read` (2 Segmente) wegen `len(g_parts) != len(r_parts)` Prüfung.
- **Schweregrad:** High
- **Status:** ⏳ Nicht gefixt
- **Status:** ✅ Gefixt 2026-08-23 (Block A): Migration 0141 konvertiert Bestandsrollen core:*:X → *:X (Roundtrip per psql bewiesen); 14 Route-Literals delegations/policies/templates auf 2-Segment korrigiert; Hash-Gate unverändert grün
### ARCH-010: Cross-Plugin-Checker scannt nur builtins standardmäßig
- **Datei:** scripts/check_cross_plugin_imports.py:233
@@ -1069,7 +1069,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te
- **Datei:** app/plugins/builtins/automation/plugin.py:register_plugin_contributions
- **Problem:** `select(Tenant).limit(1)` nimmt den ersten Tenant in der DB, nicht den aktuellen Tenant. In Multi-Tenant-Setups werden Contributed Agents/Automations im falschen Tenant erstellt.
- **Schweregrad:** High
- **Status:** ⏳ Nicht gefixt
- **Status:** ✅ Gefixt 2026-08-23 (Block A): Konfigurierbarer system_tenant_slug (Default 'default', wie seed_admin) in Settings; wiederverwendbarer Helper get_system_tenant() im Core-Layer (app/core/db); beide automation-Stellen nutzen ihn; Test beweist Slug-Lookup gegen Decoy-Ersteintrag
### ARCH-044: ai_ui_control/plugin.py — on_deactivate ruft super().on_deactivate() VOR service_container.remove()
- **Datei:** app/plugins/builtins/ai_ui_control/plugin.py:on_deactivate
@@ -1123,7 +1123,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te
- **Datei:** app/core/storage.py:get_file_metadata
- **Problem:** `loop = asyncio.new_event_loop()` für S3 fallback — erstellt einen neuen Event Loop in einem async Kontext. Kann zu Deadlocks führen wenn bereits ein Loop läuft.
- **Schweregrad:** Medium
- **Status:** ⏳ Nicht gefixt
- **Status:** ✅ Gefixt 2026-08-23 (Block A): Neue get_file_metadata_async() awaited backend.exists() direkt; Sync-Funktion ist Wrapper mit Fail-Fast-Guard gegen verschachtelte Loops im laufenden Loop; bestehende Sync-Tests unverändert grün
### ARCH-053: audit.py — datetime.utcnow() naive datetime in retention cleanup
- **Datei:** app/routes/audit.py:179