State today (verified in code):
- Permission primitive exists (internal/authz/Permissions.go): view/write/admin bits, RequirePermission, UserHasPermission(userID, perm, appID) - group-scoped.
- AuditMiddleware exists.
- But no managed 'roles' concept and no admin UI to define/assign roles.
Category: c:infra. Depends: existing authz/.
The ask: a first-class roles system on top of the existing permission bits, with an admin surface to define roles and assign them to users/groups.
Drivers:
task_qabypass role from the task-chat spec) alongside group membership.Scope:
role= named set of permissions; assign to users and groups.Category: c:infra. Depends: existing authz/.