Verificar
Detecta nuevas regresiones mientras trabajan tus agentes.
Cada vez que guardas un archivo o un agente termina una tarea, Panolayer comprueba el cambio frente a cómo encaja realmente tu base de código. Examina las funciones que cambiaron, el código que las llama y lo que espera cada uno. Ves qué se rompió y por qué en segundos, y un agente no puede fusionar su trabajo en tu rama sin tu aprobación.
Beta pública para macOS. Empieza gratis, sin tarjeta de crédito.
Un agente cambia getUser() para que devuelva null en lugar de lanzar un error.
Compila y los tests de getUser siguen pasando, pero los seis sitios que leen user.name sin comprobarlo no se enteran hasta staging.
Cómo funciona el Verification Engine
La verificación parte de lo único que no puede equivocarse sobre tu código: el propio código.
Se ejecuta sobre tu arquitectura, obtenida analizando el código fuente, así que conoce cada función, qué la llama y de qué depende. Panolayer distingue las nuevas regresiones de las que ya existían. Con la memoria persistente, cada corrección que haces se queda en el proyecto, así que la verificación mejora cuanto más la usas.
Analiza tu código
Determina qué espera
Comprueba cada cambio
Las regresiones nuevas se mantienen separadas de las antiguas
01
Construye contexto a partir de tu código
Un agente solo ve los archivos que recibió. Panolayer analiza tu repositorio como lo haría un compilador, incluidos archivos, módulos, funciones, clases, imports y el grafo de llamadas completo. Sabe que getUser() se llama desde seis sitios y dónde está exactamente cada uno, porque resolvió los símbolos, no porque un modelo lo adivinara. Es la misma arquitectura que exploras en Arquitectura.

02
Determina qué espera el código
Con la memoria persistente de Panolayer, las reglas se guardan entre ejecuciones, y puedes añadir las tuyas o corregir las que se equivoquen.

03
Ve exactamente qué se rompió
Abre un fallo y obtendrás la función, la regla, lo que ocurrió en su lugar, dónde y qué llamadores se ven afectados, con la evidencia que lo respalda.
Donde estén configurados, la verificación también puede ejecutar tus tests, compilaciones y comprobaciones de tipos, cargar cambios de frontend en un navegador y comparar capturas de pantalla con una imagen de referencia.

04
Compara con la referencia
Cada resultado se compara con la base de código anterior al cambio, así que los fallos que ya existían siguen etiquetados como preexistentes y solo persigues lo que ha roto este cambio.
05
Corrige el código o corrige la regla
Si el código es incorrecto, corrígelo tú mismo o pide a Panolayer Agent que lo haga, con el fallo y sus llamadores afectados como contexto. Si la regla es incorrecta, corrígela. En ambos casos, el resultado se vuelve a verificar.
Un agente no puede fusionar su propio trabajo en tu rama sin tu aprobación. Los agentes del Marketplace se ejecutan en un contenedor sin acceso a tu árbol principal. Los agentes CLI de tu Mac se retienen mediante instrucciones. Siempre puedes hacer commit y fusionar el trabajo de un agente, incluso cuando fallan las comprobaciones.
Más sobre CrearPreguntas
¿Qué es una regla?
Una expectativa sobre cómo debería comportarse un fragmento de código, como «devuelve un usuario o lanza un error, nunca null». Panolayer deriva la mayoría de las reglas de tu código, y puedes añadir las tuyas. Las reglas persisten y se ejecutan en cada cambio.
¿Puedo escribir mis propias reglas?
Sí. Puedes añadir tus propias reglas junto a las que Panolayer deriva de tu código.
¿Qué ocurre cuando una regla es incorrecta?
Corrígela. La corrección se conserva y las futuras verificaciones en ese repositorio la tienen en cuenta.
¿Qué rapidez tiene la verificación?
Los resultados llegan en segundos, así que puedes comprobar, corregir y volver a comprobar sin salir de la tarea.
¿Cuándo se ejecuta la verificación?
Cuando guardas un archivo en tu rama y cuando un agente indica que su tarea ha terminado.
¿Se envía mi código a un modelo?
Tu repositorio y el índice que Panolayer crea de él se quedan en tu Mac, salvo que los sincronices o compartas. Las funciones que usan un modelo envían los fragmentos de código y las instrucciones relevantes al proveedor que hayas configurado, según las condiciones de ese proveedor.
Más en la página de Seguridad¿Bloquea mi fusión?
Retiene a los agentes, no a ti. Un agente no puede fusionar su propio trabajo en tu rama sin tu aprobación. Tú siempre puedes hacer commit y fusionar.
Confía en lo que entregan tus agentes.
Beta pública para macOS. Empieza gratis, sin tarjeta de crédito.