Kodavio

Primeros pasos

Changelog

Registro de cambios funcionales y operativos de Kodavio para que puedas validar qué se ha actualizado en cada release.

0.3.2 — 14 de octubre de 2026

Configurar WordPress desde el agente

  • Tu agente ya configura WordPress: título y descripción, zona horaria, portada y página de entradas, enlaces permanentes, visibilidad en buscadores, comentarios, tamaños de imagen, menús, categorías y etiquetas, usuarios y roles propios. Lo hace por las rutas oficiales de WordPress, con ensayo, confirmación, copia del valor anterior y marcha atrás.
  • Nunca se degrada al último administrador ni se tocan los permisos de los roles de WordPress. Un usuario nuevo no recibe correo salvo que lo pidas.
  • Y también la tienda, si tienes WooCommerce: dirección, moneda y países, zonas y costes de envío, impuestos, pasarelas de pago (activarlas, su título y su modo pruebas), cupones, categorías y atributos, clientes y webhooks. Con el mismo ensayo, confirmación y marcha atrás.
  • En un producto, lo que WooCommerce no hace por su cuenta: imagen principal y galería, atributos, y en los productos variables su nombre, sus descripciones y el precio, el stock y la imagen de cada variación. El nombre y las descripciones de un producto simple, si tu WooCommerce no trae su propia capacidad para editarlos.
  • Las claves de las pasarelas nunca se leen ni se escriben. Un webhook te dice antes de crearlo qué datos saldrán de la tienda y a qué dirección. La moneda, el país base, las pasarelas, los clientes y los webhooks piden confirmación doble.
  • Si tu sitio tiene las capacidades propias de WooCommerce, Kodavio oculta las suyas que hacen lo mismo y remite a las de WooCommerce.

Contenido y medios

  • Crear y editar páginas con slug y orden. Mandar a la papelera y restaurar; nunca se borra del todo.
  • Subir imágenes desde una dirección o un fichero, con texto alternativo. SVG solo después de limpiarlo de código peligroso. Fuentes woff y woff2, con su regla @font-face lista.
  • Vista previa: ves una página como la vería un visitante, y también un cambio antes de escribirlo, sin tocar la página publicada.
  • Corregido: crear o editar una página perdía las barras invertidas del texto.

CrocoBuilder

  • Reescribe una página existente sin cambiarle el id, y también la cabecera, el pie y las plantillas de entrada y archivo. Antes guarda copia, y la marcha atrás la devuelve exacta.
  • Cambia clases, etiqueta o ancla de un elemento concreto sin tocar el resto, también en plantillas con bucles y paginación.
  • Lee y corrige las condiciones de las plantillas, y rechaza una condición sin valor: la que hacía que la plantilla del blog se aplicara a los productos.
  • El ensayo enseña lo que se va a escribir y cuenta todos los elementos.
  • Las secciones y grupos conservan su etiqueta (section, ul, figure, blockquote…) y su ancla, para los enlaces dentro de la página. También en Bricks.
  • De HTML a página funciona en sitios sin Bricks.
  • Corregido: una página de CrocoBuilder no se reconocía si no se decía el builder, y comparar una conversión hacia CrocoBuilder daba pérdidas que no existían.
  • Corregido: un botón de Bricks se perdía al convertir a CrocoBuilder.
  • Para lo que no tiene equivalente en el otro builder, Kodavio propone una pieza editable con todas sus apariciones.

Fragmentos, WindPress y formularios

  • Fragmentos JS en Fluent Snippets. JS y CSS pueden cargarse solo en las páginas que digas.
  • Si Fluent Snippets deja fuera un fragmento publicado al rehacer su índice, Kodavio avisa.
  • Corregido: crear un fragmento PHP que declara funciones lo dejaba en borrador.
  • WindPress: Kodavio lo ve aunque aún no exista main.css, y puede subir su caché compilada fuera del sitio, con copia. Nunca la purga.
  • Editar un formulario de Fluent Forms sin cambiarle el id, así que su shortcode sigue funcionando.
  • Corregido: las capacidades de formularios y SEO desaparecían al guardar Kodavio > Herramientas.

Bricks y administración

  • Corregido: insertar contenido con los elementos en otro orden podía guardar varios con el mismo id y dejar la página sin poder editarse. Ahora Kodavio no escribe ids repetidos y, si lo guardado no es lo enviado, deshace la escritura.
  • Kodavio puede encender la API de capacidades de Bricks.
  • Editar y borrar componentes nativos de Bricks (kodavio/bricks-update-native-component y kodavio/bricks-delete-native-component), con ensayo y por las capacidades de Bricks. Un componente que alguna página, plantilla u otro componente usa no se borra: Kodavio te dice dónde se usa.
  • Corregido: colocar un componente nativo de Bricks en una página (kodavio/bricks-apply-native-component) fallaba siempre con Bricks 2.4.3 («Element '…' is missing a name»). Ahora la instancia se crea como la crea Bricks, con el nombre del elemento raíz del componente.
  • Al actualizar, una capacidad delicada nueva entra apagada, igual que en una instalación nueva. Las que ya tenías se quedan como las dejaste.
  • Deshacer viene encendido de serie y no necesita licencia: tu agente puede volver atrás sus cambios de configuración, contenido, medios, formularios, builders y diseño. Para deshacer cambios de código sigue haciendo falta encender en Herramientas el permiso que escribe ese código.
  • Una capacidad apagada aparece como apagada, con dónde se enciende, en vez de como inexistente.
  • Las capacidades de otros plugins que no llevan parámetros ya se pueden usar.
  • Corregido: con la versión actual del plugin MCP oficial de WordPress (0.7.0), Kodavio no podía usar las herramientas de otros servidores MCP del mismo sitio.
  • Modo fantasma: oculta Kodavio a los demás administradores del sitio.
  • La comprobación de salud de una página lee la página servida: detecta la pantalla de error de WordPress aunque llegue con código 200 y, en Bricks, que la página y su CSS se han cargado. También revisa cabeceras, pies y archivos.
  • Corregido: borrar un componente de Bricks guardado como plantilla (kodavio/bricks-delete-component) lo mandaba a la papelera o lo borraba aunque una página, plantilla u otro componente lo usara, y esa parte de la página dejaba de verse. Ahora se niega, también en el ensayo, y dice dónde se usa.
  • Corregido: borrar un componente nativo de Bricks (kodavio/bricks-delete-native-component) podía borrarlo aunque lo usara una entrada de un tipo que Bricks no tiene activado en sus ajustes, porque Bricks solo cuenta esos tipos. Ahora Kodavio busca el componente en todos los tipos, plantillas, cabeceras, pies y otros componentes, también en borradores y cuando está puesto como bloque en una página de Gutenberg, y si lo encuentra se niega y dice dónde.

0.3.1 — 23 de septiembre de 2026

Biblioteca de bloques

  • Páginas a partir de bloques ya hechos. Tu agente puede buscar bloques en la biblioteca de Kodavio, escribir el texto de cada uno y montar con ellos una página nueva de Bricks, en borrador. Hace falta una licencia de Kodavio activa y WindPress en el sitio: los bloques usan las clases del Flowtitude Design System.
  • Tu propia biblioteca. Los bloques nuevos que crea tu agente se guardan en la biblioteca de tu licencia y los ves en todos tus sitios. Nadie más los ve.
  • Kodavio no deja montar un bloque con clases que el bloque no tiene, ni en un sitio que no puede pintarlo: dice qué falta.
  • Estas capacidades son nuevas y se siguen probando con licencias reales: si algo no responde como esperas, cuéntanoslo.

0.3.0 — 22 de septiembre de 2026

Antes de actualizar si usas Elementor o Gutenberg

En esta versión Kodavio se centra en Bricks (todo) y CrocoBuilder (conversión). Las 41 capacidades de Elementor, Gutenberg y Automatic.css siguen en el plugin pero vienen apagadas: después de actualizar, tu agente deja de verlas. Si las necesitas, enciéndelas añadiendo define('KODAVIO_ENABLE_PARKED', true); a wp-config.php.

Bricks 2.4

  • Kodavio escribe a través de Bricks. Cuando Bricks 2.4 está activo, las escrituras pasan por sus propias capacidades: cada cambio deja una revisión de Bricks a la que puedes volver y el CSS se regenera solo. Si Bricks no está disponible, Kodavio sigue funcionando por su cuenta.
  • Corregido: reordenar un elemento dentro de su mismo contenedor, o insertarlo en una posición concreta, respondía «hecho» y el orden no cambiaba.
  • Corregido: los acordeones y pestañas nativos de Bricks se leían y escribían vacíos, y el texto alternativo de las imágenes no se leía.
  • Si intentas meter HTML de estructura dentro de un texto, el aviso te dice cómo construirlo con elementos nativos.

Conversión entre builders

  • Bricks ↔ CrocoBuilder en los dos sentidos, con el texto, el estilo (incluido el responsive y las imágenes de fondo) y la estructura anidada completa.
  • De HTML a una página de Bricks en una sola llamada, con los estilos que traiga el HTML.
  • Las conversiones grandes caben en la conversación: las lecturas de página se entregan por partes. Ocho páginas convertidas pasan de 8,7 MB a 114 KB.
  • Corregido: convertir una página decía que la había creado y no creaba nada.

Código y marcha atrás

  • El código va al gestor de snippets que tengas (FluentSnippets, Code Snippets o WPCode) y se desactiva solo si algo falla. Deshacer repone el código anterior.
  • Después de escribir código, Kodavio comprueba que el sitio y su API siguen respondiendo.
  • Las escrituras de traducciones también se pueden deshacer.
  • Corregido: la marcha atrás no podía deshacer una escritura en el tema activo o en un plugin activo.
  • Corregido: la marcha atrás unificada, crear carpetas y copiar al sitio el CSS de un framework no se podían encender desde Herramientas › Permisos. Ahora van con «Editar código». Si ya lo tenías encendido, guarda la pantalla de permisos una vez para que se activen.

Diagnóstico del sitio

  • Cuatro informes de solo lectura: salud, seguridad, rendimiento y accesibilidad.

Retirado

  • Las 41 capacidades de Elementor, Gutenberg y Automatic.css vienen apagadas (ver el aviso de arriba).
  • El catálogo de secciones prediseñadas (patterns-*).
  • La ejecución de capacidades de terceros desde el perfil de alcance.

Kodavio, punto único MCP del sitio

  • Un solo endpoint para todo lo que ya tienes instalado. Kodavio ahora sirve, por su propia conexión MCP, las capacidades de los demás plugins del mismo WordPress: las de plugins que las registran en WordPress (Bricks 2.4, el propio WordPress), las de servidores MCP creados con el adaptador oficial, y los endpoints MCP propios de otros plugins (la suite Fluent, JetEngine). Medido en un sitio real: 241 capacidades de 8 proveedores distintos por una sola conexión.
  • Convive con el plugin oficial mcp-adapter. Antes, si ese plugin estaba activo, Kodavio le cedía el sitio y dejaba de responder por su cuenta. Ahora conviven: Kodavio ya no cede su endpoint y deja de ocupar la ruta del servidor por defecto del adaptador.
  • Nuevo panel «MCP instalados» (dentro del menú Kodavio): muestra qué se está incorporando de cada plugin instalado, por qué se ha admitido o rechazado cada endpoint detectado, y permite configurarlo — promover herramientas concretas, activar o desactivar proveedores enteros, y declarar o vetar endpoints manualmente.

Herramientas, reorganizada en pestañas

  • La página Kodavio › Herramientas pasa de una lista larga con scroll a cuatro pestañas: Configuración, Permisos, Diagnóstico y Mantenimiento.

Edición de código

  • Un único interruptor para activarla, que ahora también admite JSON (con su propia validación antes de guardar), además de PHP, HTML, CSS y JS.
  • Corregido: apagar el interruptor no desactivaba de verdad la edición de PHP — un fallo interno hacía que, aunque lo apagaras, el sistema la siguiera permitiendo igual. Ahora apagarlo la apaga también a ella.

Seguridad

  • El descubrimiento de capacidades de otros plugins ya no puede terminar enviando peticiones a rutas de administración de esos plugins (como instalar un adaptador o cambiar sus ajustes) — quedan identificadas y excluidas antes de admitir un endpoint.

0.2.0 — 9 de julio de 2026

0.2.0 agrupa el trabajo de las líneas 0.1.8 y 0.1.9. A partir de esta versión la demo se cierra y la licencia es obligatoria.

Backup y rollback unificados, por acción

  • Un índice único de escrituras con deshacer por acción. Cada cambio registrable (options, ficheros, mu-plugins, fuentes de diseño) es una entrada con un op_id estable. La ability kodavio/rollback deshace por latest, por op_id o por path, siempre en dry-run primero.
  • Historial en Kodavio › Herramientas con tabla (fecha · herramienta · path) y botón Restaurar por fila. Lo que WordPress ya cubre con revisiones (contenido de posts) no se duplica.
  • Retención configurable (1 / 7 / 30 / 90 días / siempre; por defecto 7) con barrido diario.

Perfil de ejecución vinculante — ahora mueve el dry-run real

  • Rápido / Equilibrado / Seguro ajustan la prudencia del agente antes de escribir, y cualquier agente lo respeta aunque no tenga el kit porque el contrato viaja en context-bootstrap y en el handbook.
  • Seguro fuerza el dry-run por defecto del backend; Rápido lo relaja; Equilibrado delega en el interruptor "Dry-run por defecto". El perfil ya no es solo texto: mueve el candado real.
  • El perfil nunca rebaja los guardarraíles de entorno (drafts en producción, Human Gates, confirmación en destructivos).

Decisiones con alternativas (multi-path) y preferencias

  • kodavio/options-for: ante un objetivo con varias vías técnicas (CPT, campos, formularios), devuelve opciones con pros y contras, detecta qué tienes instalado y respeta tu preferencia guardada.
  • Preferencias técnicas por sitio (kodavio/preference-*): guardas "para CPTs prefiero JetEngine" y Kodavio deja de preguntar.

Internacionalización (i18n)

  • Abilities para listar, leer y escribir .po (en dry-run) y compilar .mo, acotadas al directorio de idiomas con allowlist y anti-traversal. La compilación del binario delega en las clases probadas de WordPress.

El menú de Kodavio, solo para administradores

  • El menú Kodavio y la página Herramientas ahora requieren rol de administrador (manage_options). Antes eran visibles para editores y gestores de tienda.

Correcciones

  • Bricks: los hijos anidados ya no se pierden al insertar. bricks-insert-content materializa los children anidados de forma recursiva en vez de descartarlos (producía contenedores vacíos en producción).
  • Verificación posterior honesta. El readback comprueba que existan también los descendientes insertados, no solo los elementos raíz; ya no da un PASS engañoso.

Rendimiento y robustez

  • Memoización del camino caliente, fin de varios N+1, escritura atómica de mu-plugins y detección de builder unificada en un único orden canónico.

Memoria del sitio entre sesiones

  • El agente recupera el contexto del sitio en una sola llamada, sin que se lo tengas que pedir. Hasta ahora, cuando abrías una sesión nueva o cambiabas de modelo, el agente arrancaba en blanco y tenías que recordarle lo importante. La nueva ability kodavio/context-bootstrap devuelve en una sola respuesta: el propósito del sitio, el sistema de diseño activo, las instrucciones y avisos que dejaste en la página de memoria, las últimas decisiones que el agente registró y los últimos cambios en el sitio. Reemplaza el patrón antiguo de "cuatro llamadas separadas para enterarse de qué está pasando".
  • Instrucciones humanas vinculantes. Las entradas de memoria que escribes tú desde Kodavio › Design › Memory con source=human y etiqueta instruction o caveat son vinculantes para el agente durante toda la sesión. Si dejas anotado "este sitio no tiene backups automáticos, pídeme confirmación antes de cualquier write", el agente lo respeta sin necesidad de recordárselo cada vez.
  • Re-revisión de caveats antes de escribir. Antes de cualquier operación destructiva (instalar plugin, escribir PHP, borrar, bulk), el agente vuelve a consultar la memoria por si has añadido un caveat mientras tanto.
  • El agente guarda lo que aprende. Durante la sesión, escribe decisiones, progreso de tareas y resúmenes con source=agent y un tipo explícito (decision, task-progress, session-summary, note). Tú los ves en la misma página de memoria con un indicador claro de quién lo escribió.

Las bases de la memoria persistente del sitio (ability memory-list/read/write/delete, persistencia en BD, página Kodavio › Design › Memory con distinción humano/agente) ya estaban en versiones anteriores. 0.1.8 las conecta al flujo del agente: ahora se usan por defecto.

Sistema de licencias alineado con FluentCart Pro

  • Las activaciones de licencia ahora funcionan de verdad. El plugin enviaba al servidor de licencias el query var y los nombres de campo equivocados (fluent_cart_action, license, url) cuando FluentCart Pro Software Licensing espera (fluent-cart, license_key, site_url). El servidor respondía con HTML de la home en lugar de JSON y el plugin devolvía un error genérico tipo "Respuesta no válida del servidor de licencias". Ahora el contrato es exactamente el que documenta el SDK oficial.
  • KODAVIO_LICENSE_ITEM_ID por defecto. Antes el ID de producto era 0 si nadie lo definía en wp-config.php, lo que hacía fallar la activación incluso con la clave correcta. Ahora viene predefinido al producto Kodavio de Flowtitude; cualquier cliente puede sobreescribirlo con la constante o el filtro kodavio_license_item_id.
  • Mejor mensaje de error. Cuando el servidor de licencias devuelve error_type (por ejemplo invalid_license, disabled, key_mismatch), el plugin lo propaga ahora como WP_Error con el mensaje real del servidor en castellano. Antes el agente solo veía "inactive" sin saber por qué.

Gestión de patterns desde wp-admin

  • Nueva pestaña Patterns en Kodavio › Diseño y memoria con el catálogo completo: los patterns del Core y los tuyos en una sola tabla, con filtros por fuente (Core / Mis patterns / Todos) y por categoría, columna de imagen de muestra, badge visible para distinguir Core de Mío, y la lista de builders que soportan.
  • CRUD de patterns propios: crear desde cero, editar (clave, nombre, categoría, resumen, roles, JSON del spec, URL de imagen de muestra) y borrar. Los del Core no se pueden editar directamente — los duplicas con un botón y modificas la copia. La validación del spec usa el mismo motor que la API (Kodavio_Pattern_Materializer::validate): si el JSON está mal formado o un nodo no es válido, te lo dice antes de guardar.
  • Imagen de muestra opcional por pattern. Para los tuyos, pega una URL en el editor (más adelante podrás subirla desde la mediateca). Si un pattern no tiene imagen, sale un marcador discreto "Sin imagen" en su lugar.
  • Import / Export de packs desde la misma pestaña: botón "Generar pack" muestra el JSON listo para copiar o descargar como .json, y el bloque de importar acepta un pack pegado en un textarea. Los Core nunca se sobrescriben con un import; las claves duplicadas o inválidas se descartan con el motivo.
  • Selector del modo de patterns (Sugerir / Preferir / Apagado) que controla con qué iniciativa el agente propone usar un pattern al construir páginas, sin tener que llamar a una ability para cambiarlo.
  • Los abilities kodavio/patterns-list, patterns-apply, patterns-export, patterns-import y patterns-set-mode ya existían en 0.1.7; 0.1.8 te da la cara humana para usarlos sin pasar por el agente.

0.1.7 — 23 de junio de 2026

Primer corte cara a la beta pública de pago (apertura el 1 de julio). Acumula todo el trabajo de 0.1.7 desde 0.1.6.

Builders

  • Bricks: reordenar secciones de primer nivel ahora se respeta: mover una sección de primer nivel de una página de Bricks a otra posición ya se aplica de verdad y se refleja en la página. Antes, reordenar en la raíz (las secciones de nivel superior) podía no surtir efecto y la sección se quedaba donde estaba; los movimientos dentro de un contenedor ya funcionaban. Al mover una sección, su contenido completo viaja con ella.
  • Gutenberg: mover y reordenar bloques sin reconstruir: tu agente ya puede mover un bloque existente a otra posición —reordenarlo entre los de primer nivel o sacarlo/meterlo en un contenedor— conservando el resto de la página intacto. Antes esta operación no existía en Gutenberg y reordenar bloques de primer nivel obligaba a reescribir la página. Con esto, los tres constructores (Bricks, Elementor y Gutenberg) quedan a la par también al reordenar.

Patrones

  • Misma calidad en todos los constructores y catálogo ampliable: Kodavio reorganiza por dentro cómo construye sus secciones de diseño: cada patrón se define una sola vez y se genera con estructura nativa y limpia en ambos constructores a partir de esa misma definición. En Bricks, además, el patrón hereda colores, tipografía y espaciado del sistema de diseño activo del sitio. En Elementor, esta primera versión renderiza la estructura semántica del patrón (jerarquía de headings, párrafos, botones, imágenes y grids); la propagación automática del color/tipografía del design system al widget atómico llegará en 0.1.8 — mientras tanto, puedes aplicar tu Kit/preset tras insertar el patrón. Queda abierta la puerta a ampliar la biblioteca con paquetes de patrones nuevos sin tocar código, solo añadiendo datos.
  • Nuevas secciones (estadísticas, pasos y cita): tres secciones nuevas listas para insertar: una banda de estadísticas (número grande + etiqueta en columnas, ideal como prueba social cuantitativa), un bloque de pasos para explicar un proceso o servicio numerado, y una cita destacada a gran tamaño con autor. Funcionan igual en Bricks y Elementor y no dependen de imágenes. Se suman a las que ya existían (hero, CTA, características, precios, FAQ, testimonios y contenido a dos columnas).
  • Tu propia biblioteca, portable entre sitios: ahora puedes crear tu propia biblioteca de patrones (incluso específica de un constructor) y reutilizarla en otros sitios sin tocar PHP. Una habilidad exporta los patrones como un paquete de datos y otra los importa en el sitio destino, validando cada uno antes de guardar y con vista previa por defecto para que revises antes de aplicar. Los patrones de fábrica de Kodavio quedan protegidos: nunca se sobrescriben y nunca se ejecuta código importado, solo datos.
  • Elige por sitio cuánto los sugiere el agente: cada sitio puede decidir con qué frecuencia tu agente recurre a los patrones: «sugerir» (por defecto, los usa cuando uno encaja claramente), «preferir» (revisa la lista antes de construir a mano) u «off» (solo si los pides explícitamente). Es una guía, no un candado: aplicar un patrón a mano siempre funciona.

WindPress / Tailwind

  • Kodavio trabaja sobre tu sistema Tailwind real, no sobre una caja negra: cuando tu sitio usa WindPress/Tailwind, Kodavio parte de tu configuración tal y como está: sigue la cadena de importaciones de tu archivo principal (main.css) y localiza el archivo donde viven de verdad tus tokens de diseño (el primero del recorrido con un bloque @theme). Así tu agente entiende y opera dentro de tu sistema existente, en lugar de tratarlo como algo opaco y montar el suyo aparte.
  • Tus tokens se escriben dentro del sistema existente, sin archivos sueltos: al aplicar tokens de diseño en WindPress, Kodavio los integra directamente en el bloque @theme de tu sistema actual —actualiza los valores que ya existen y añade los nuevos en su sitio— en vez de crear un archivo de tema aparte. El resultado es un único sistema de diseño coherente, sin capas duplicadas que se pisen. Es una escritura segura: copia de seguridad del archivo antes de tocarlo, vista previa en seco del cambio y el archivo listo para que tu agente lo relea y confirme. Si en algún caso prefieres un archivo de tema separado, sigue disponible como opción explícita.

Fuentes de diseño (Design Sources)

  • Gestión genérica de las fuentes donde vive tu diseño: tu agente ya puede listar, leer, crear, editar, parchear, borrar y restaurar de forma uniforme las fuentes de un sistema de diseño —tanto si viven en archivos como en la base de datos— sin que cada framework necesite su propia mecánica. Cubre WindPress/Tailwind (los .css de su carpeta de datos, usando la propia API de WindPress cuando está disponible), los globals de Bricks (clases, variables, colores, paleta y estilos de tema), el Kit de Elementor (colores y tipografías del sitio, conservando el resto de ajustes del kit), el theme.json de temas de bloques (Gutenberg) (editar todo el JSON o solo una ruta como settings.color.palette, preservando el resto) y los overrides de Automatic.css / Core Framework (las variables de tu framework, reinyectando el CSS al guardar). Toda escritura es en seco por defecto, hace copia de seguridad antes de tocar nada, devuelve un diff y es restaurable por id de copia; borrar o restaurar exige confirmación explícita. Incluye asegurar referencias sin duplicados (p. ej. un @import en main.css) y bloques gestionados con marcadores para editar solo una parte del archivo.

Edición de código y seguridad

  • Editar archivos PHP en hostings sin PHP de línea de comandos: si tenías la edición de código activada pero tu hosting no incluía la herramienta de PHP por línea de comandos —habitual en alojamientos compartidos o gestionados—, Kodavio rechazaba cualquier cambio en un .php aunque el código fuera correcto, porque confundía «no se pudo comprobar la sintaxis» con «la sintaxis es incorrecta». Ahora, cuando esa herramienta no está, Kodavio valida la sintaxis por su cuenta, así que tu agente puede editar archivos PHP en muchos más sitios. La protección se mantiene: el código con errores de sintaxis se sigue rechazando antes de guardar, y la edición de PHP sigue siendo opcional desde Kodavio > Herramientas.
  • Auto-rollback al editar un mu-plugin: cuando tu agente escribe o parchea un mu-plugin (código PHP que WordPress carga en cada visita), Kodavio comprueba al instante que el sitio sigue cargando con una petición real a la portada y, si la edición lo ha tumbado (error de servidor), revierte sola el cambio —restaurando la copia de seguridad o eliminando el archivo recién creado—. Así un fallo de ejecución que ninguna validación de sintaxis puede anticipar deja de poder dejarte el sitio caído, y el propio Kodavio no pierde el acceso para recuperarse. Si la comprobación no es concluyente (por ejemplo, el hosting bloquea ese tipo de petición interna), no se revierte nada para evitar falsas alarmas.

0.1.6 — 17 de junio de 2026

  • Editar páginas sin reconstruirlas: tu agente ya puede editar cualquier página existente de forma quirúrgica — añadir una sección, crear, mover o borrar un elemento, o cambiar uno solo — sin rehacer la página entera. Funciona en Bricks, Elementor y Gutenberg a través de una acción única de edición y de primitivos que el agente descubre por defecto, así que deja de "reconstruir cuando solo querías un cambio".

  • Paridad de edición entre constructores: Elementor estrena inserción de una sección o subárbol en una posición concreta (después/antes/dentro de un nodo) e inicialización de páginas que aún no tienen contenido Elementor; Gutenberg estrena edición por bloque (leer el árbol con rutas estables, insertar, actualizar atributos y borrar bloques) preservando el resto del contenido.

  • Más integridad de datos: el contenido de Gutenberg con barras invertidas o JSON ya no se corrompe al guardar; añadir o duplicar elementos en Bricks ya no puede colisionar identificadores y fundir dos nodos; y mover un elemento de Bricks respeta de verdad su nueva posición.

  • WooCommerce para agentes: nuevas habilidades para listar y leer pedidos (sin credenciales de pago), actualizar stock con dry-run y antes/después, e informe de ventas por periodo con totales, valor medio de pedido y productos más vendidos. Verificado contra una tienda WooCommerce real.

  • Diff visual en conversiones: kodavio/conversion-visual-preview genera URLs de vista previa tokenizadas y caducas (30 min) del antes (la copia de seguridad pre-conversión, renderizada en un clon oculto) y el después, para que tu agente las capture con su navegador en cualquier resolución; conversion-visual-verdict registra el resultado (solo PASS reclama paridad visual) y conversion-visual-preview-cleanup elimina el clon e invalida los tokens.

  • Migración selectiva de contenido: kodavio/content-export y kodavio/content-import — lleva posts, páginas o CPTs de un sitio a otro con su meta completo (datos de builders incluidos), taxonomías (los términos se crean si faltan), comentarios con su hilo, imagen destacada (descargada del origen) y autores mapeados por email. El agente conectado a ambos sitios por MCP es el transporte: sin ZIPs ni FTP. Devuelve el mapa de IDs origen→destino y admite importar todo como borrador para revisión.

  • Formularios entre sitios: nuevas habilidades kodavio/forms-detect, forms-list, forms-export y forms-import — exporta la definición completa de un formulario (Fluent Forms, Contact Form 7 o WPForms) y recréalo exacto en otro sitio vía API, con verificación por relectura y el shortcode listo para insertar. Con Contact Form 7, además, tu agente puede crear un formulario desde una especificación simple (título + campos). Los formularios de Bricks no necesitan adaptador: viajan con el contenido.

  • Analítica y export verificados: los resúmenes de sitio/contenido/comercio y el export de páginas/paquetes pasan ahora la verificación en WordPress real del circuito de calidad.

  • El botón "Comprobar de nuevo" de WordPress fuerza también la consulta al canal de Kodavio (antes el caché propio de 6 horas podía retrasar la detección de una versión nueva; ahora además el caché baja a 3 horas).

  • Conversión Elementor → Bricks: el color de primer plano de un widget (línea de un divisor, icono) ya no se convierte en color de fondo, y los vídeos respetan el proveedor activo (video_type) en lugar de arrastrar URLs antiguas.

  • La conversión Bricks → Elementor y el rollback preservan el tipo de documento Elementor existente en lugar de forzar wp-page.

  • El sistema de diseño preserva valores CSS funcionales (var(), calc(), clamp()) al transpirar a Elementor usando la unidad custom, en vez de degradarlos a 0px.

  • Robustez MCP: un esquema inválido de una habilidad de terceros ya no tumba el listado de herramientas completo — se omite esa herramienta y el resto sigue disponible.

  • SEO: aviso al escribir snippets con varios plugins SEO activos a la vez, y soporte del ajuste de Rank Math que reutiliza la tarjeta de Facebook para Twitter.

  • Seguridad: instalar plugins desde URL requiere HTTPS y host en lista blanca (wordpress.org por defecto; ampliable por el administrador con el filtro kodavio_plugin_install_allowed_hosts).

0.1.5 — 11 de junio de 2026

Corrección sobre la 0.1.4, detectada en la primera actualización real del canal: las cuatro habilidades SEO no llegaban a activarse porque su categoría no estaba registrada en la API de Abilities. Corregido el registro (y el de la categoría diagnostics, que arrastraba el mismo fallo desde versiones anteriores) y añadida una comprobación automática al circuito de calidad para que ninguna habilidad pueda volver a publicarse con una categoría sin registrar.

0.1.4 — 11 de junio de 2026

Novedad: migración Tailwind v3 → v4

Tres habilidades nuevas para migrar sitios WindPress de Tailwind 3 a Tailwind 4 sin perder estilos por el camino:

  • kodavio/tailwind-migration-audit (solo lectura): detecta clases renombradas o eliminadas en v4 dentro del contenido de Bricks, Elementor y Gutenberg (shadow → shadow-sm, rounded → rounded-sm, outline-none → outline-hidden, flex-grow-* → grow-*, bg-gradient-to-* → bg-linear-to-*, etc.), avisa de cambios de comportamiento de v4 que un renombrado no cubre (color por defecto de ring y border, selector de space-x/y), respeta variantes (hover:, md:…) y la posición del !important de v4, y analiza la configuración de WindPress con los pasos recomendados.
  • kodavio/tailwind-migration-apply: aplica la migración por página, con dry-run por defecto y copia de seguridad por builder antes de escribir. Las utilidades eliminadas en v4 (familia bg-opacity-*) se reportan para revisión manual, nunca se reescriben automáticamente.
  • kodavio/tailwind-migration-rollback: restaura las copias de seguridad de la migración de una página.

Novedad: SEO independiente del plugin

Cuatro habilidades nuevas para trabajar los snippets de SEO sea cual sea el plugin instalado:

  • kodavio/seo-detect: identifica el plugin SEO activo (Rank Math, Yoast, SEOPress, All in One SEO, The SEO Framework) y si admite escritura de snippets.
  • kodavio/seo-read: lee el snippet normalizado de una página (título, descripción, keyword, canonical, Open Graph, Twitter, robots) con las mismas claves independientemente del plugin.
  • kodavio/seo-analyze: análisis SEO por página o en lote — presencia y longitud de título/descripción, uso de la keyword, noindex, número de H1, imágenes sin alt y profundidad de contenido — con el campo exacto a corregir en cada hallazgo. El agente redacta la corrección; Kodavio nunca inventa títulos ni descripciones.
  • kodavio/seo-write: escribe los campos normalizados a través de Rank Math, Yoast o SEOPress, con dry-run por defecto, verificación por relectura y sin tocar campos no indicados. En All in One SEO la escritura se rechaza honestamente (usa tablas propias) para evitar desincronizaciones.

WindPress: Kodavio pasa a ser estrictamente de solo lectura

Kodavio ya no inyecta nada en WindPress por su cuenta (ni proveedores de compilación, ni archivos virtuales, ni safelists). Lee la configuración de Tailwind que tenga el sitio — sea cual sea — y solo escribe mediante habilidades explícitas bajo petición. FDS sigue siendo opcional, como siempre debió ser. Esto corrige además los avisos PHP (Undefined array key "relative_path") que aparecían en sitios con WindPress y Kodavio activos, reportados por un betatester.

Correcciones

  • kodavio/elementor-create-page ya no devuelve error de validación de salida en escrituras reales que se completaron correctamente (el informe de validación ahora admite ausencia).

0.1.3 — 10 de junio de 2026

Esta versión consolida todo el trabajo del ciclo 0.1.2 (que no llegó a publicarse) y añade correcciones importantes de integridad de datos detectadas en la auditoría completa del 10 de junio.

Correcciones importantes

  • Corregida la conversión Elementor → Bricks con estructuras anidadas: el árbol convertido mantenía referencias internas incorrectas entre padres e hijos, lo que podía dejar secciones vacías en el editor de Bricks. Ahora la jerarquía se conserva siempre y está cubierta por un test de regresión.
  • Corregida la pérdida de barras invertidas al guardar copias de seguridad de conversión y contenido de Bricks. Afectaba a cualquier página con acentos o caracteres especiales: la copia de seguridad podía quedar inservible y el rollback no funcionar. Ahora las copias sobreviven intactas y el rollback es fiable también con contenido en castellano.
  • Las operaciones de nodos de Elementor ya no pueden informar de éxito cuando la escritura ha fallado: si el contenido no puede codificarse, la operación devuelve un error claro y no se escribe nada.

Builders

  • Nuevas comprobaciones de entorno por builder: kodavio/elementor-check-setup y kodavio/bricks-check-setup informan de bloqueos, avisos y siguiente paso recomendado antes de operar.
  • Nueva habilidad kodavio/bricks-insert-content para insertar secciones nativas en una posición concreta (before, after, append_to, prepend_to) sin reemplazar el árbol completo.
  • Validación de estructuras Bricks endurecida: se bloquean antes de escribir las formas de datos que rompen el render (clases globales mal formadas, unidades como objeto, tipografía con claves inválidas, CSS personalizado sin bloque, bordes anidados).
  • Validación previa a escritura en Elementor contra el esquema seguro de Kodavio en creación y edición de nodos.
  • Los templates de Bricks guardan header y footer en su área real, no en contenido.

Conversión entre builders

  • Las conversiones incluyen ahora un informe de paridad visual (visual_parity) con estado, confianza y señales de riesgo. Una cobertura del 100% ya no se presenta como garantía visual: la revisión visual sigue siendo necesaria antes de limpiar o publicar.
  • Piloto automatizado de conversión Elementor ↔ Bricks con rollback verificado.

Fiabilidad y QA

  • Verificación post-write por lectura posterior en Bricks, Elementor y Gutenberg, con contratos específicos por builder (tipo de template, área, taxonomía, widgets requeridos).
  • Registro de capacidades alineado con las habilidades reales: 188 declaradas, 188 registradas, verificado por test automático.
  • Quality gate ampliado: 9 tests unitarios, 7 de integración y 9 smoke, incluyendo lint de los archivos de arranque del plugin.

Seguridad y actualizaciones

  • El actualizador verifica la huella SHA-256 del paquete cuando la release la publica, y admite un modo estricto que rechaza actualizaciones sin huella.
  • Lectura de metadatos endurecida frente a datos serializados manipulados.
  • La desinstalación con purga elimina ahora todas las opciones del plugin, sin dejar restos en la base de datos.

Empaquetado

  • El paquete de distribución ya no incluye archivos internos del proyecto y solo puede generarse desde un estado de código confirmado y trazable.
  • El validador de paquetes comprueba la sintaxis PHP de todo el contenido del ZIP, la coherencia de versión con el repositorio y la ausencia de fugas de rutas locales.

0.1.2 — no publicada

Estado de publicación

Esta versión se preparó para pruebas internas y no llegó a publicarse en el canal de actualizaciones. Todo su contenido está integrado y ampliado en 0.1.3.

Fiabilidad y QA

  • Añadida verificación post-write por lectura posterior en Bricks, Elementor y Gutenberg.
  • Añadido piloto automatizado de conversión Elementor ↔ Bricks con rollback.
  • Reducido el uso innecesario de fallback en transpilación de diseño.
  • Mejorado el reporte de transpilación con resumen, estado por fila y siguiente acción.
  • Quality gate local ampliado con pruebas unitarias, integración y smoke.

Estado de salida

  • El circuito automatizado está en verde.
  • La validación final en dos páginas reales de https://kodavio.es ya pasa en modo lectura autenticada.
  • MCP, REST y wp-abilities responden correctamente con credenciales válidas.
  • Paquete 0.1.2 preparado para pruebas, sin publicar todavía en el canal de actualizaciones.
  • No se debe presentar esta línea como beta pública amplia hasta completar una prueba controlada de escritura/conversión real en staging.

Pendiente antes de publicar actualización

  • Probar instalación del ZIP desde el panel de WordPress.
  • Ejecutar una operación real pequeña y reversible en kodavio.es.
  • Confirmar rollback o limpieza de la prueba.
  • Revisar que el canal de actualización apunte al paquete correcto solo después de aprobar la prueba.

0.1.1 — 28 de mayo de 2026

Mejoras principales

  • Publicación de release 0.1.1 con paquete instalable actualizado.
  • Mejora del flujo MCP y ajustes de conectividad para sesiones de beta.
  • Mejora de rutas clave de trabajo en Bricks, Elementor y Gutenberg.
  • Avances en normalización de escalas y transposición de sistema de diseño por capacidades del builder.

Seguridad operativa

  • Refuerzo del uso de dry_run y confirmaciones en operaciones de escritura.
  • Mejor trazabilidad de resultados para revisión antes de aplicar cambios.

Diagnóstico beta

  • Nuevo diagnóstico beta de activación manual (opt-in) en herramientas.
  • Registro de errores técnicos MCP/abilities con límite de eventos.
  • Resumen visible en panel: estado, último error y códigos más frecuentes.

Documentación

  • Actualización de guías de conexión y uso práctico.
  • Inicio de registro de cambios (este changelog) para seguimiento de versiones.

0.1.0 — 27 de mayo de 2026

Base de lanzamiento beta

  • Publicación inicial para beta con flujo de conexión MCP.
  • Capacidades operativas para diagnóstico, sistema de diseño, constructores y administración segura.
  • Primer paquete estable de distribución para pruebas controladas.
Previous
Mapa de capacidades