feat(N1): Scope-Registry via Contract — workspace_scopes() Deklarationen + /scope-definitions Endpoint #365
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
N1 — Scope-Registry via Contract (Phase N)
Roadmap: PLATFORM_ROADMAP.md → Phase N, Task N1 | Milestone: Phase N — Workspace-Scopes (#14) | Label: task
Umsetzung
workspace_scopes()-Contract-Hook (document_placeholders-Muster): Plugins deklarieren Scope-Dimensionen ihres Moduls inkl. Wertequellenapp/schemas/workspace.py: ScopeOption, ScopeValueSource (nur interne /api/v1/-Pfade, SSRF-sicher), WorkspaceScopeDimension (multiselect/select brauchen options ODER value_source), WorkspaceModuleScopesapp/services/workspace_scope_service.py: iteriert discovered Plugins, ARCH-014-safe (deaktivierte Contracts bleiben weg), Crash-sicher, ungültige Deklarationen werden verworfenGET /api/v1/workspaces/scope-definitions(workspaces:configure_modules) — VOR /{workspace_id} registriert (Route-Order-Falle)Security-Invariante
Scope = reine UND-Einschränkung. Sichtbarkeit = Workspace-Scope ∧ RLS ∧ ABAC ∧ Permissions. Ohne aktiven Workspace kein Filter (rückwärtskompatibel).
Verifikation