Ir al contenido

Solución de problemas

Inyección high/prod rechazada — “not on the executor allowlist”

Sección titulada «Inyección high/prod rechazada — “not on the executor allowlist”»

Un valor high o prod solo puede inyectarse en un ejecutable revisado y en la allowlist. Agregarlo para la corrida con --allow:

Ventana de terminal
kovra run --env prod --allow ./deploy -- ./deploy

Esto es distinto del prompt de bioProve — gobierna adónde puede ir el valor, no si se preguntó. Ver el proceso de decisión.

En un host sin biometría (sin hardware, sin enrolar, o una sesión headless/CI), kovra recae en el file broker. El comando espera e imprime instrucciones; aprobarlo desde otra terminal:

Ventana de terminal
kovra approve --list
kovra approve <id>

Se puede forzar el canal con KOVRA_CONFIRMER=biometric|file.

macOS vuelve a pedir la contraseña de login en cada corrida

Sección titulada «macOS vuelve a pedir la contraseña de login en cada corrida»

Si un kovra recién recompilado sigue pidiendo la contraseña del login keychain para leer la master key, dar al binario acceso permanente: en Keychain Access, buscar el ítem kovra / master-key, y bajo Access Control permitir la aplicación kovra (o “Allow all applications”). Esto ocurre porque un binario firmado ad-hoc obtiene una identidad de código nueva en cada recompilación; un build firmado para release es estable.

Alternativamente, correr en modo passphrase (sin keychain en absoluto) definiendo KOVRA_PASSPHRASE — kovra deriva entonces la clave con Argon2 a partir de la passphrase y un salt almacenado.

El binario no está en el PATH. El instalador nativo lo deja ahí automáticamente; si usaste el tarball de Linux, copialo: cp kovra /usr/local/bin/. Para kovra-mcp, confirmar con which kovra-mcp — y recordar que es un servidor stdio de MCP que lanza el agente, no algo que se ejecuta a mano.

Después de kovra setup, recargar el agente para que vuelva a leer .mcp.json. Confirmar que el servidor está registrado ahí y que kovra-mcp está en el PATH. El agente solo ve metadatos con scope — si una coordenada queda fuera de su scope, es no direccionable, por diseño.

Los secretos inject-only nunca se revelan — solo pueden inyectarse. Los secretos high y prod nunca se revelan a un agente, y se revelan en la CLI solo tras un bioProve. Esto es la política funcionando como se pretende, no un bug; ver Niveles de sensibilidad.