El registro existe porque la votación lo produjo.
Ni automatización ni magia: la argumentación es el artefacto. Cuando Claude plantea una pregunta al consejo de Kirat, ChatGPT y Gemini toman posición de forma independiente, Claude añade la suya, y votan. La llamada y su resultado contienen la pregunta, las opciones, cada voto, la decisión, cómo se alcanzó y el disenso. La argumentación queda por escrito mientras sucede, no se reconstruye semanas después.
Las decisiones sobreviven al razonamiento que las sustenta.
Los ADR se escriben a posteriori, si es que se escriben — y para entonces el razonamiento se ha reducido a un resumen de la conclusión.
La decisión se tomó en realidad en un hilo. El hilo no se puede buscar, y la persona que lo escribió ya no está.
“¿Por qué está construido así?” se responde con arqueología, a cargo de quien lleve más tiempo en el equipo.
La argumentación que necesita un ADR, por escrito mientras sucede.
Una votación del consejo produce la parte de un ADR que se deteriora más rápido: qué se preguntó, qué se consideró, qué ganó, cómo ganó y quién se opuso. No es un ADR terminado, y Kirat no escribe ADR. El estado, las consecuencias y el responsable los sigues rellenando tú. Lo que elimina es tener que reconstruir una argumentación que nadie escribió.
FIG. 1 — Lo que cubre el resultado, y lo que no. Preferimos mostrarte la segunda fila antes que ocultarla. Los números de los votos son la confianza autodeclarada de los modelos. Sin mayoría, el desenlace es needs_human: decides tú.
Kirat guarda los últimos 20 resultados en la carpeta .kirat de tu carpeta personal, y Claude puede recuperar los recientes con kirat_result. Es memoria de trabajo, no un archivo. Guarda los resultados importantes allí donde estén tus ADR.
Lo que puede decidir sin ti.
Hay una herramienta pensada para las decisiones que delegas: kirat_decide, para elecciones de trabajo reversibles. Tiene un veto y un límite diario, y cada decisión delegada se anota en un registro local en la carpeta .kirat. Para todo lo demás, el consejo vota y tú ves el reparto. Sin mayoría, indica needs_human en lugar de tomar partido.
Las reglas que rodean a las llamadas están en el código, no en un prompt:
FIG. 2 — Lista de materiales de las salvaguardas. El control de presupuesto funciona en la medida de lo posible, sin garantía: fija límites de gasto también en los proveedores.
Estas reglas han fallado de formas instructivas, y las correcciones están en el código. Un caso de las versiones candidatas: un rechazo por presupuesto contaba como fallo de API y podía hacer saltar el disyuntor (circuit breaker), retirando a un miembro que funcionaba bien. Los rechazos por presupuesto ya no cuentan como fallos. Kirat tiene 256 tests automatizados, que se ejecutan sin acceso a la red. La cronología completa de fallos está en la sección de pruebas de la página principal.
Lo que esto no hace
- —No es a prueba de manipulaciones. Los resultados y el registro de decisiones delegadas son archivos locales en la carpeta
.kirat. Cualquiera con acceso a la computadora puede editarlos o borrarlos. Es un registro local de ejecuciones y una ayuda para la memoria, no una prueba de cumplimiento normativo. - —No sustituye a la revisión de código, y por sí solo no reducirá tu carga de revisión. Que ahorre tiempo a alguien depende por completo de tu flujo de trabajo. No tenemos ninguna medición, así que no afirmamos ninguna.
- —No se integra en tu pipeline. Ningún bot comenta en los pull requests, y nada se ejecuta en tu pipeline de build. Kirat funciona dentro de un chat de Claude Desktop o de una sesión de Claude Code — local, o una sesión en la nube tras la configuración única — cuando Claude lo llama.
- —La delegación es una salvaguarda, no un sistema de permisos. El veto y el límite diario restringen
kirat_decide. No restringen lo que Claude, tus herramientas o tus sistemas pueden hacer. - —No mantiene tu código dentro de la empresa. Todo lo que le das a Kirat (preguntas, contexto, código) va directamente a OpenAI y Google, con tus cuentas y bajo sus condiciones — desde tu computadora o, en las sesiones en la nube de Claude Code, desde tu propio entorno en la nube a través del proxy de red de Anthropic para ese entorno. En comparación con usar solo Claude, eso añade dos destinatarios.
- —No funciona en todos los lugares donde usas Claude. Solo donde Claude ejecuta herramientas en una máquina que tiene Kirat instalado: chats de Claude Desktop en macOS y Windows, Claude Code en un terminal o en VS Code, sesiones locales en la pestaña Code de Claude Desktop, sesiones SSH — y sesiones en la nube de Claude Code (sesiones en la nube de la pestaña Code, Claude Code en la web o en la app móvil) tras una configuración única de tu entorno en la nube. La nube tiene límites: todos los que usan el entorno pueden leer sus variables de entorno, incluidas tus claves; el presupuesto diario de Kirat se cuenta por sesión, así que fija límites de gasto en OpenAI y Google; los trabajos en segundo plano y los resultados recientes terminan con la sesión; y el entorno debe permitir dos hosts,
api.openai.comy el host de descarga de Kirat. Si la configuración falla, la sesión arranca igualmente, solo que sin Kirat, y el estado fallido puede quedar en caché para nuevas sesiones hasta que edites el script de configuración. No en el chat del navegador ni de las apps móviles, ni en tareas de Cowork que se ejecutan en la nube. Las sesiones WSL y las tareas locales de Cowork no están probadas. No se admiten redes de tu propia computadora que requieran un proxy HTTP. Las organizaciones que restringen las extensiones de Desktop a una lista de permitidas bloquean las instalaciones manuales; pregunta a tu administrador. Dónde funciona, en detalle.
Antes de comprar.
¿Sustituye esto a la revisión de código?
No. kirat_review obtiene hallazgos sobre un cambio de otras familias de modelos antes de que lo mire una persona, y cada hallazgo lo verifica la otra familia de modelos. Las personas siguen revisando. Cambia lo que miran, no si miran.
¿Qué se puede delegar realmente?
Elecciones de trabajo reversibles, mediante kirat_decide, con un veto y un límite diario. Cada decisión delegada se escribe en el registro de decisiones delegadas de la carpeta .kirat.
Todo lo que sería costoso deshacer corresponde a una votación, no a una delegación. Una votación te da las posiciones y el desenlace; sin mayoría, devuelve needs_human y no decide nada.
¿Cómo encaja en un proceso de ADR existente?
Él produce la argumentación; tú produces el ADR. La llamada y su resultado contienen la pregunta, las opciones y la decisión — la parte que la gente parafrasea mal semanas después. El estado, las consecuencias y el responsable siguen siendo manuales; consulta la fig. 1.
Kirat guarda solo los últimos 20 resultados, así que guarda los que quieras junto al ADR.
¿Cómo funciona para un equipo?
Una licencia cubre a una persona, en cualquier número de dispositivos y entornos en la nube propios de esa persona. No permite la redistribución, así que cada persona del equipo que ejecute Kirat necesita su propia licencia, y un entorno en la nube compartido con otros necesita una licencia por persona. No hay puestos que administrar, ni cuenta con nosotros, ni servidor que operar.
Cada persona usa sus propias claves de API y su propio presupuesto diario. Recomendamos un proyecto de proveedor separado con un límite de gasto. En un entorno en la nube compartido, todos los que lo usan pueden leer sus variables de entorno, incluidas las claves.
¿Dónde se guardan las claves de API?
Las introduces en el propio diálogo de instalación o de ajustes de Claude. Claude Desktop las guarda en el almacenamiento seguro del sistema operativo (macOS Keychain, Windows Credential Manager). Claude Code las guarda en el macOS Keychain y, en Windows y Linux, en ~/.claude/.credentials.json, legible solo por tu usuario. En las sesiones en la nube de Claude Code, son variables de entorno de tu entorno en la nube, legibles por todos los que lo usan.
Kirat no tiene servidor ni telemetría. Nunca vemos tus claves ni tus datos.
¿Qué implica el despliegue?
Claude Desktop: descomprime la descarga, abre Settings → Extensions → Advanced settings → Install Extension…, elige el archivo .mcpb e introduce ambas claves en el diálogo. Desktop advierte de que las extensiones instaladas desde un archivo no están verificadas por Anthropic; es lo esperado.
Claude Code: descomprime la descarga y mueve la carpeta kirat extraída a tu carpeta personal, de modo que exista ~/kirat/claude-code. Después, en una sesión, ejecuta /plugin marketplace add ~/kirat/claude-code y /plugin install kirat@kirat, e introduce las claves cuando se te pidan. El plugin necesita Node.js 20 o posterior.
Sesiones en la nube de Claude Code: una vez por entorno en la nube, pega el bloque de la descarga (cloud/setup.sh) al principio del script de configuración del entorno y añade ambas claves como variables de entorno. Recomendamos los nombres KIRAT_OPENAI_API_KEY y KIRAT_GEMINI_API_KEY: no chocan con el OPENAI_API_KEY propio de un proyecto (Kirat también acepta OPENAI_API_KEY y GEMINI_API_KEY). Si el acceso a la red es Full, no hay nada que cambiar; si no, ponlo en Custom (en apps más recientes: Limited) con la lista predeterminada de gestores de paquetes, más api.openai.com y el host de descarga de Kirat. Si la configuración falla, la sesión arranca sin Kirat, y el estado fallido puede quedar en caché hasta que edites el script de configuración. Comprueba primero los límites de la nube: dónde funciona.
Si tu organización restringe las extensiones de Desktop a una lista de permitidas, las instalaciones manuales quedan bloqueadas; pregunta a tu administrador. La parte lenta de la configuración es crear las dos claves de API de los proveedores.
¿Qué pasa con las actualizaciones y los cambios de modelo?
Para actualizar en Claude Desktop, instala el nuevo .mcpb de la misma manera (en Claude Code, descomprime la nueva versión sobre la antigua carpeta kirat y después reinicia Claude Code o ejecuta /reload-plugins); las claves y los ajustes se conservan. Las actualizaciones de compatibilidad son gratuitas cuando es posible, sin garantía. Las versiones nuevas de mayor envergadura pueden venderse por separado.
Los nombres y los precios de los modelos son ajustes. Si un proveedor retira un modelo, introduces el nuevo nombre y sus dos precios — no hace falta actualizar.
Un solo producto para todos: una compra, una descarga con la extensión de Claude Desktop y el plugin de Claude Code. Los precios y los detalles están en la página principal.