Problemas Conocidos — 3.1.0¶
Problemas conocidos que afectan a 3.1.0, cada uno con una solución alternativa. Si te topas con algo que no está listado aquí, repórtalo en el issue tracker de raise-commons.
rai graph build --prune no tiene efecto¶
Síntoma. rai graph build --prune termina sin error, pero los nodos
obsoletos de un servidor de grafo sincronizado no se eliminan; las consultas
con --cross-repo pueden devolver símbolos que ya no existen en ningún
checkout.
Causa. El pruning remoto está deliberadamente suprimido mientras el
keyspace del servidor sea a nivel de repositorio. El flag se acepta y se
ignora, y así lo indica el propio --help del comando.
Solución alternativa. No hace falta ninguna para trabajo local — el índice
local del grafo se reconstruye por checkout (rai graph build) y siempre es
consistente. Si trabajas contra un servidor de grafo y los nodos obsoletos
estorban, vuelve a publicar el grafo desde el checkout dueño; las entradas
obsoletas son cosméticas y no afectan las consultas locales.
Si viste esto en una página anterior
Versiones anteriores de esta página agrupaban esto con el problema de
alcance por worktree — nodos del grafo con alcance por repositorio en vez
de por checkout, de modo que una consulta podía devolver símbolos de otro
worktree. Ese está corregido y se publica en 3.1.0. La supresión de
--prune es una consecuencia distinta de que el keyspace remoto sea a
nivel de repositorio, y sigue vigente.
Resueltos en la línea release candidate¶
Los siguientes problemas estaban presentes en la línea beta y están resueltos en 3.1.0.
Las consultas al grafo devolvían símbolos de otro worktree (RAISE-15607)¶
Antes: graph_nodes usaba como clave el slug del repositorio en vez del
checkout, así que todos los worktrees del mismo repo compartían un único
keyspace en ~/.rai/raise.db. El último rai graph build sobrescribía los
nodos de todos los demás worktrees, y una consulta ejecutada en el worktree A
podía devolver símbolos cuyo source_file pertenecía al worktree B — otro
código, otra rama, silenciosamente incorrecto.
Corrección: los nodos del grafo ahora tienen alcance por checkout, y
validate_asserted_root() impone el aislamiento por checkout.
"database is locked" por un proceso MCP obsoleto (RAISE-15605) — corregido en rc1¶
Antes: Toda operación de escritura fallaba con database is locked
(SQLITE_BUSY) cuando un proceso MCP de larga vida mantenía una transacción
de escritura abandonada.
Corrección: La corrección de SQLite WAL + busy-timeout llegó en rc1. Si todavía estás en un binario beta, actualiza siguiendo la guía de instalación. Si después de actualizar sigues viendo el error, significa que todavía corre un proceso MCP previo a la corrección — termínalo con SIGTERM y reintenta:
rai init --force destruía el contenido de los cartuchos (RAISE-15655) — corregido en rc2¶
Antes: --force limpiaba los directorios de cartuchos antes de copiar,
borrando de forma permanente corpus/, eval/ y extractors/ curados a mano,
sin respaldo.
Corrección: --force ahora sobrescribe solo lo que el bundle posee y deja
el resto intacto.
Windows: rai a secas fallaba al arrancar (RAISE-15650) — corregido en b2¶
Antes: El cockpit importaba termios y tty (solo Unix) a nivel de
módulo; el comando moría con ModuleNotFoundError antes de imprimir nada.
Corrección: El import ahora está protegido; en Windows se muestran los comandos disponibles.
Windows: rai gate check fallaba al arrancar (RAISE-15653)¶
Antes: El ledger de presupuesto de workers importaba fcntl (solo Unix) a
nivel de módulo.
Corrección: El backend de locking ahora se selecciona en tiempo de
ejecución (msvcrt en Windows).
rai self-update destruía la instalación local (RAISE-16741)¶
Antes: rai self-update derivaba el directorio de instalación del MCP de la
ruta del propio symlink en lugar de resolverlo, así que reemplazaba el
~/.local/bin compartido y destruía todos los binarios y symlinks que hubiera
ahí — su respaldo incluido.
Corrección: publicada en 3.1.0. El symlink ahora se resuelve, y un entry point que no sea symlink aborta con un error claro en lugar de continuar.
Sigue vivo en todos los release candidates hasta rc5
La corrección está en 3.1.0 — no en el binario desde el que actualizas. No
corras rai self-update en rc1 a rc5; usa el instalador, según la
ruta B.
¿Actualizas desde una versión anterior? Consulta Actualizar a RaiSE 3.1.0.