Agrega dos tests nuevos al paquete pkg/security que verifican
escenarios especificos de father-bot:
- TestResolveACL_FatherBotDenyByDefault: cuando el grupo admins
esta vacio, nadie puede interactuar con father-bot (deny-by-default)
- TestResolveACL_FatherBotMultipleAdmins: cuando hay multiples
admins configurados, todos pueden interactuar; usuarios fuera
del grupo no pueden
Estos tests complementan el existente TestResolveACL_PrivilegedVsGeneral
que ya cubria el caso basico de admin vs non-admin.
Issue: 0043
- TestResolveACL_PrivilegedVsGeneral: verifica que father-bot solo
es accesible por admins y que agentes generales son accesibles
por todos. Reproduce la config real de produccion.
- TestIsSpecialConfig_*: 3 tests para la funcion que detecta
configs de SpecialConfig ya cargados (orchestrator) y los salta
en el loop de discovery normal del launcher.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Crea el paquete puro pkg/security/ con los tipos base del sistema
centralizado de permisos y la función ResolveACL.
Cambios:
- pkg/acl/config.go: añade FromRoles([]Role) ACL como constructor directo
- pkg/security/groups.go: UserGroup, AgentGroup
- pkg/security/policy.go: Permission, AgentPolicy, SecurityPolicy
- pkg/security/resolver.go: ResolveACL(agentID, SecurityPolicy) → acl.ACL
* soporte wildcard de agente ("*") y de usuario ("*")
* políticas acumulativas: unión de permisos entre grupos
* referencia directa por agentID sin definir grupo
- pkg/security/security_test.go: 7 tests cubriendo todos los casos del issue
El paquete es pure core: cero I/O, cero side effects.
Mergeado con feature flag centralized-security-groups = false (no wired).