- apps/api/src/users/: invite (senha temporária, mesma entropia do
legado), PATCH (role/isActive, com checagem de peso), reset de senha
administrativo, troca de senha self-service, grant/revoke de acesso a
aplicação — cada ação sensível auditada.
- apps/api/src/roles/: CRUD de papéis e gestão de role_permissions,
exclusivo super_admin (SuperAdminGuard), mirando o requireSuperAdmin do
legado — deliberadamente não generalizado para o modelo de permissão
resource+action+scope, por ser a raiz do próprio sistema de
autorização (documentado em roles.service.ts).
- apps/api/src/auth/role-weight.ts: assertCanAssignRole/assertCanActOnUser
(eden.md §1.6) — um ator nunca atribui papel nem mexe em usuário com
peso maior que o seu; super_admin sempre passa.
- .gitignore: .claude/worktrees/ (worktrees temporários de subagentes
paralelos nunca devem virar submódulo do repo principal).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>