docs: block a progress - arch-043/052/008/009 fixed and verified
This commit is contained in:
+4
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user