# Validación de Raps — 7 de octubre de 2026 La entrega más reciente se registra automáticamente en [docs/ENTREGA-ACTUAL.md](docs/ENTREGA-ACTUAL.md), junto con [sus resultados completos](docs/entrega-actual.json). Los apartados siguientes conservan las comprobaciones de entregas anteriores. ## Registro visual anterior: acecho suave, piel continua y escalada La recompilación final terminó con **BUILD SUCCESSFUL en 1 minuto y 54 segundos**. El JAR mide **925 593 bytes** y su SHA256 es `70E04AD21B28F4EC5BEDBC775C5AEFD9D6DC66EA5E7B4E71708169A006E6D4DF`. `build/libs/Raps.jar`, `dist/Raps.jar` y `C:\Users\toto83571\AppData\Roaming\.minecraft\mods\Raps.jar` coinciden. El respaldo inmediato está en `respaldos/antes-reinstalar-smoothing-final-20261007-165444/`. La fuente final de animación tiene SHA256 `1AEE573E9C13E2BAF57D378CCCD1120E251DF3185E5D02996B474DD6A25C9A63`; `ParasiteModel.java` tiene SHA256 `0763853F5DDCE7EB69454353D3027A00C880EAEC296B0867327ACB98522DCFF7`. El pivote del primer segmento cervical vuelve a nacer en la vértebra superior y el acecho mezcla su peso entre reposo, marcha y plegado, sin el salto del umbral de movimiento. La auditoría geométrica independiente aprobó **173 muestras** en acecho, paso 1×3 y escalada. El reporte es [docs/parasito-movimiento-validacion.json](docs/parasito-movimiento-validacion.json). La revisión visual de arrastre y encuentro se exportó nuevamente con las mismas muestras Java; el comprobador SAT mantiene esos dos contratos como escenas contorsionadas de revisión visual para no confundir solapes de piel deformada con articulaciones rígidas. La auditoría de piel aprobó **25 combinaciones**, **112 027 comprobaciones de píxeles** y cinco etapas por tipo de skin: legacy 32, estándar 64, slim, Steve y una skin azul personalizada. La entrada original queda inmutable; las seis caras de brazo y el cuello coinciden con la fuente anatómica y el azul personalizado sólo se conserva donde pertenece a la ropa. El reporte es `build/exposed-skin-audit/result.json`. Dimensiones máximas de los pasos estrechos en la etapa final: | Movimiento | Altura (bloques) | Ancho (bloques) | | --- | ---: | ---: | | Compactación 1×1 | 0,84257 | 0,57250 | | Arrastre 1×1 | 0,84665 | 0,57250 | | Paso 1×2 | 1,62673 | 0,56027 | | Paso 1×3 | 2,78559 | 0,97212 | | Paso 1×4 | 3,49129 | 0,78381 | Se conservaron los límites anteriores, la continuidad del plegado y la ausencia de saltos globales al caminar o perseguir. La extensión longitudinal de las posturas sigue requiriendo comprobación dentro del juego ante cambios de dirección y obstáculos. El encuentro conserva la mirada hacia el humano durante la contorsión y se exportó de nuevo con los brazos de la versión anterior, suavizados en la entrada y salida. La revisión visual confirma la inversión de la cabeza y el apoyo de al menos un pie; los solapes internos propios de esa deformación se conservan como una escena contorsionada separada del contrato de locomoción rígida. La escalada aprobó **300 muestras**, 60 por cada una de las cinco etapas, según `docs/parasito-climb-pared-origen.json`. La separación máxima de un apoyo plantado respecto de la pared es **0,000001552 bloques**; su desplazamiento máximo durante el apoyo es **0,000000711 bloques**. `build/jar-native-audit/result.json` confirma que las **700 muestras nativas del JAR coinciden exactamente** con una compilación independiente de la fuente: 70 combinaciones de movimiento y etapa. El cambio queda limitado al cliente del parásito, el compositor de skin y sus dos atlas visuales permitidos; no se modificaron clases de backend ni recursos ajenos. La reexportación final aprobó **15 videos nativos**, dos GIF y nueve OBJ con procedencia actual. El corredor dura doce segundos y 240 fotogramas; la demostración de escalada, seis segundos y 120 fotogramas. La galería incorpora estas muestras y permite velocidades de 0,5× a 3×. Cada exportación de video se completa en un archivo temporal, se decodifica para comprobar su integridad y luego reemplaza el destino. La prueba de interrupción conserva el video anterior intacto. Los dedos tienen tres falanges continuas y el pulgar dos segmentos, con textura de su propio brazo. El ataque conserva sus curvas anteriores. Exaroton sigue bloqueado por un error de conexión SSL: no se sustituyó el mod remoto ni `dist/Raps-verificado-servidor.jar` con esta entrega. El JAR final sí está instalado localmente. ## Registro de la entrega visual anterior: 127 pruebas aprobadas El servidor Forge local aprobó las **127 pruebas obligatorias** y Gradle terminó con `BUILD SUCCESSFUL`. Se creó un mundo de ensayo nuevo para esta corrida. No se realizaron llamadas pagas a modelos durante las pruebas. La cobertura nueva incluye ritmo y descansos por humano, cacerías sin límite de dos golpes, alturas de uno a cuatro bloques, escotillas reales, piezas de diamante pagadas sin regalar atributos, sugerencias con autoría y límites persistentes, y agachado a través del controlador de jugadores. En la entrega anterior, el rig de horror aprobó **677 muestras independientes**, incluyendo longitudes constantes, ausencia de compresión global, plegado continuo, cuatro apoyos y todos los movimientos. Su fuente tenía SHA256 `E9A3D9EC0FA37F36C7B8BC0ABA0C2702521A6C2833E24131323F12356105D16C`; el reporte vigente al principio de este documento la reemplaza. Durante aquel encuentro, la mirada conservaba la dirección hacia el humano con un error máximo de 0,000324°; 34 fotogramas mostraban boca arriba y ojos abajo mientras el torso estaba contorsionado. El arrastre 1×1 tenía una altura máxima de 0,793 bloques; el rápido, 0,809. La variante sensible tiene caminata y queda fuera de la auditoría anatómica del esqueleto de horror. La comparación del JAR con el respaldo confirma que únicamente cambió `ParasiteRig.class`; el backend y los recursos permanecen idénticos. Sus 680 muestras de geometría y poses coinciden exactamente con una compilación independiente de la fuente final. Las 127 pruebas del servidor siguen como cobertura del backend sin cambios. La exportación aprobó por separado los 15 videos, dos GIF y nueve OBJ contra las muestras Java actuales. La muestra adicional `parasito-crawl3-paredes.mp4` muestra los apoyos laterales en un corredor 1×3: cinco segundos, 20 FPS y 100 fotogramas. Usa exactamente las muestras Java de `crawl3`, con un entorno de bloques añadido para hacer visibles las superficies. La separación máxima entre dedos y pared es de 0,010163 bloques. Su procedencia y hashes están en `docs/parasito-crawl3-paredes-origen.json`; no modifica el JAR ni reemplaza los clips originales. La corrida de 127 pruebas incluyó el nuevo plegado físico del acecho y la cancelación de esa postura para un testigo sensible. La compilación anterior, `compilacion-animaciones-sonidos.log`, incorporó efectos de contacto que después fueron rechazados. Sus archivos de prueba y procedencia se conservan para revisión. La versión de trabajo deshabilita los efectos de ataque, trepada y persecución y mantiene los pasos naturales del bloque pisado. La voz y el lore aprobados permanecen disponibles. JAR compilado: **917 749 bytes**, SHA256 `0376B5C6B0C93DA8AED7AC52C7FD6138230BEF359D2488EC871296A4B50FD164`. `validacion-natural-0.3.2.log` registra las 127 pruebas del servidor aprobadas y `BUILD SUCCESSFUL in 10m 26s`; `compilacion-aracnido.log` recompiló el ajuste de araña y mirada del cliente y terminó con `BUILD SUCCESSFUL in 3m 17s`. Se instaló con Exaroton apagado. El JAR del cliente, la distribución y la copia descargada del servidor tienen el mismo hash y tamaño que el compilado. `publicacion-aracnido-exaroton.log` registra la publicación y los respaldos. La configuración conserva diez bots, la conexión de modelos preparada y el límite acumulado de USD 5. No se arrancó el servidor remoto ni se realizaron llamadas pagas para este ajuste visual. El ensayo anterior de Exaroton confirmó los diez bots y terminó con el servidor apagado, sin jugadores humanos. Ese ensayo precede a esta corrección visual. Chrome comprobó diez categorías de movimiento, sensibilidad y reproducción con un único toque en una pantalla móvil de 390 píxeles. Las cuatro tarjetas de efectos muestran **No disponible**, sin reproductores ni fuentes de los sonidos rechazados. Cloudflare Pages conserva la galería principal. La copia estática en Sites está publicada para auditoría. Una petición anónima devolvió HTTP 200 sin login y Chrome aprobó sus diez categorías, toque móvil único, sensibilidad y tarjetas de efectos sin reproductores. La herramienta web no pudo abrir el dominio, por lo que no se garantiza acceso desde cualquier sesión de ChatGPT. Los enlaces y el recorrido están en [AUDITORIA-CHATGPT.md](docs/AUDITORIA-CHATGPT.md). La prueba sobre el modpack de Exaroton comprobó diez jugadores simultáneos en su API y en `list`: Carbono, Cobalto, Curio, Euclides, Fermi, Helio, Neon, Silicio, Titanio y Xenon. Se añadieron a la whitelist los UUID que informó el propio servidor, conservando sus entradas anteriores. Neon y Fermi mantienen el rol investigador. El servidor se apagó después del ensayo sin humanos; la configuración conserva conexión automática y modo autónomo. La cobertura física no sustituye una partida prolongada ni la revisión visual dentro del cliente con el modpack completo. La integración industrial de Create y las facciones emergentes siguen pendientes. ## Historial anterior Versión: 0.3.0-dev. Minecraft Java 1.20.1, Forge 47.4.10, Java 17. ## Pruebas locales La ejecución más reciente, `validacion-final-extensiones.log`, aprobó las **95 pruebas obligatorias**. Añade dieciocho pruebas de herramientas aprendidas, banderas y parásito a las 77 comprobaciones anteriores. Se ejecutaron en el servidor local separado `run/`, sin abrir un cliente humano ni realizar llamadas de generación. Luna continúa desactivada. La nueva cobertura incluye propuesta mediante el controlador, tres ensayos que consumen troncos reales, certificación, persistencia autenticada, dependencias exactas, rechazo de registros adulterados y reutilización por otro generalista. El investigador no puede evadir su rol mediante una composición certificada. Las banderas verifican recetas, materiales, estaciones, inventario lleno, alcance, eventos y conservación de autoría en loot real. Para el parásito se comprueban reloj guardado, huésped único, protección del meteorito, preferencias persistentes, exclusión de humanos sensibles y bots, transferencia real de inventario normal/ender a cuarentena, conservación de memoria y repetición tras recarga sin duplicaciones. La prueba de daño demuestra primero una lesión sobre el mismo cuerpo humano y luego el bloqueo al activar sensibilidad o registrarlo como bot. La primera ejecución de 95 pruebas detectó que el fixture intentaba dañar un jugador durante sus 60 ticks de inmunidad inicial vanilla. Se corrigió el fixture mediante ticks oficiales y una conexión local; la segunda ejecución aprobó las 95. No se desactivó la aserción ni se modificó la protección de producción para hacerla pasar. La ejecución anterior, `validacion-final-perfiles-memoria.log`, aprobó las **77 pruebas** de entrada, UUID, roles, investigación y memoria entre mundos; la búsqueda web y las decisiones estratégicas se verifican con transporte simulado. `migracion-estandar-validada.log` finalizó con `BUILD SUCCESSFUL`. La utilidad de mantenimiento transforma una copia de los datos con el servidor apagado y verifica igualdad del NBT antes y después, salvo los UUID explícitamente migrados. Esa utilidad y las pruebas no se distribuyen dentro del mod. ### Validación anterior La ejecución definitiva `validacion-aparicion-release.log` aprobó las **72 pruebas obligatorias** y generó el JAR corregido, con `BUILD SUCCESSFUL` en 5 minutos y 3 segundos. Se ejecutaron en el servidor separado `run/`, sin abrir el cliente ni controlar un personaje humano. Las ejecuciones anteriores también habían aprobado sus 66 y 71 pruebas. La cobertura incluye: - Las nueve regresiones del prototipo: inventario, hambre, fabricación, protección, minería, recolección y refugio físico. - Sesiones de jugadores reales: registro, movimiento, hambre, daño por caída, muerte, reaparición, cambio de dimensión y guardado. - Consumo de bloques e ingredientes, conservación de recursos con inventario lleno, restos de recetas, almacenamiento parcial y veto de eventos Forge. - Memoria persistente, recuperación selectiva y registro de resultados sin repetir efectos. - Validación y permisos de herramientas, límites de ejecución y cancelación. - Mensajería privada, destinatarios, intervención administrativa y persistencia del orden de mensajes. - Validación de decisiones, cupos de llamadas, resultados obsoletos, errores de saldo y configuración cerrada por defecto. - Integración del controlador con acciones físicas, reconexión y rechazo de privilegios de administrador desde bots. El primer ensayo de Exaroton detectó una aparición al vacío: `getHeight` puede devolver la altura mínima cuando el chunk todavía no está cargado. Se corrigió la carga previa del terreno, se validó el apoyo de identidades nuevas y se añadieron cargas acotadas al conectar o reaparecer. La regresión `body_08_safe_spawn` comprueba rechazo antes del registro, entrada sobre suelo real y conservación de una posición aérea guardada. El servidor local guardó y se cerró correctamente. ## Conexión de IA La credencial autorizada se guardó cifrada con DPAPI fuera del proyecto. El listado de modelos confirmó acceso a los identificadores solicitados. Un único intento de decisión devolvió HTTP 429, `credit_balance_exhausted`; no hubo una decisión exitosa ni se validó autonomía con Luna. Por decisión del usuario, la conexión queda preparada y **desactivada**: `modelsEnabled=false`, `foundationVerified=false`, `solEnabled=false`, `maxSessionUsd=0`. No se utilizan modelos locales ni se realizan nuevas consultas de generación. El JAR y los archivos de herramientas no contienen la credencial. ## Alcance Las pruebas verifican capacidades físicas y restricciones del sistema, incluido aprendizaje por ensayos y acontecimientos del parásito. No demuestran supervivencia autónoma prolongada, invención observada por Luna, facciones emergentes ni industrialización con Create. El alcance actual está en [IMPLEMENTACION-0.3.md](docs/IMPLEMENTACION-0.3.md). Los modelos se revisaron mediante un render de su geometría y texturas; la presentación distinta en dos clientes Minecraft simultáneos aún no se comprobó. ## Distribución y Exaroton Artefacto del ensayo anterior: 290 152 bytes. SHA-256: `9395d627c0b533ec01d5092c0a3dfabf54f2ffb8a2d58ee1a9468d945b36fb45`. El JAR no incluye clases de pruebas, configuración privada ni credenciales. Instalado en `.minecraft/mods/Raps.jar` y en `dontstarve.exaroton.me`, `mods/Raps.jar`. La copia remota se descargó en `dist/Raps-verificado-servidor.jar` y su hash coincidió. La versión anterior se respaldó y retiró en ambos lugares para evitar duplicar el identificador interno. Respaldos: `respaldos/local-0.1.0-20261005/` y el respaldo remoto del puente, carpetas `20261005-210421` y `20261005-212202`. Servidor: Forge 1.20.1 (47.4.10), con Create 6.0.8 y el modpack instalado. En el segundo ensayo, una identidad nueva, Argon, apareció sobre terreno real y permaneció fuera del vacío. Neon se reconectó conservando el UUID `1e4eb943-6bc8-4813-9c91-cbdc7d972eca`; `list` mostró ambos conectados simultáneamente. El ensayo fue supervisado, con horario diurno fijado por el operador y sin entregar materiales. Alex's Mobs y Simply Swords entregaron sus libros de guía mediante sus eventos normales de entrada. Los registros del primer ensayo están en `exaroton-primer-ensayo.log`; el ensayo corregido queda en `exaroton-validacion.log`. Las muertes por zombis con el controlador quieto y la IA apagada son consecuencias del mundo: este ensayo no acredita supervivencia autónoma. ## Comprobación final en Exaroton - `list` mostró a Neon y Xenon simultáneamente; ambos tenían salud y comida 20/20 en la consulta del segundo ensayo. - La herramienta `message_internal` entregó a Xenon un mensaje de Neon y dejó un registro `Agentes:AGENT`, sin publicación global. - `message_global` publicó el texto de Xenon en el chat del servidor y registró `Agentes:GLOBAL`. - `/botmalo Neon …` entregó a un destinatario; `/botmalo all …` entregó a los dos, con registros `Agentes:ADMIN`. Los buzones mostraron los mensajes pendientes. - Neon se pausó y volvió a conectar con el mismo UUID. El guardado de inventario, hambre y salud en condiciones controladas también está cubierto por los GameTests locales. - Se volvió al límite de dos bots. Argon, creado exclusivamente para comprobar la aparición nueva, quedó retirado con sus datos conservados. - Neon y Xenon quedaron pausados y guardados. Se comprobó `list` con cero participantes y se envió el apagado para no mantener un ensayo inactivo consumiendo alojamiento. Al iniciar el servidor, un operador puede recuperarlos con `/raps conectar Neon` y `/raps conectar Xenon`. `/botmalo` conserva mensajes aun con la IA apagada; interpretarlos y decidir nuevos planes mediante Luna necesita activar el proveedor con saldo. Las herramientas pueden probarse expresamente con `/raps herramienta`. Este ensayo no incluyó un cliente humano abierto ni certifica la captura del próximo mensaje de un administrador desde la interfaz de chat. Tampoco acredita todo el modpack o una sesión prolongada: verificó registro de jugadores, aparición, reconexión y comunicación en el pack instalado. ## Actualización de perfiles, investigación y memoria — 6 de octubre Artefacto actual: `dist/Raps.jar`, 321 263 bytes. SHA-256: `197665932e1abf71c140be86e4804124cbe7fae9807c30869a67d6b700c19f34`. La copia de `.minecraft/mods/Raps.jar` y la descargada de Exaroton tienen el mismo hash. Se comprobó que el archivo no contiene pruebas, mantenimiento offline ni configuración privada. La migración se preparó en `respaldos/perfiles-estandar-20261006-v2/` a partir del snapshot `respaldos/perfiles-20261006/`, sin modificar el original. Los 18 archivos transformados se publicaron con el servidor apagado y se descargaron para comparar SHA-256. Los archivos anteriores renombrados se retiraron solamente después de verificar todas las copias. Hay respaldos adicionales del puente; el registro está en `publicacion-perfiles.log`. UUID estándar verificados en el juego: - Neon: `68e79ab5-69dd-350b-a1d3-73b2f9b89fb1`. - Xenon: `4f72ea90-a7d1-3d81-9b97-8f06df3ea18d`. - Argon: `b8e0ae57-a9f9-3aed-921f-279bcfe5f1fd`, continúa retirado. `exaroton-perfiles-investigacion.log` documenta `/Raps ayuda`, `join bot Neon`, `join bots` y su repetición idempotente, ambos roles, consulta de UUID e inventarios, ejecución de `research_recipe` y pausa de los dos bots. `list` mostró a Neon y Xenon simultáneamente y después cero jugadores. `exaroton-participantes-verificados.json` conserva el listado de la API de Exaroton con `count=2` y los dos nombres. No se abrió el cliente humano ni se entregaron materiales. Neon quedó con rol investigador y Xenon generalista, guardados en `world/data/raps_roles.dat`. Se instalaron `config/raps/agents.md` y `research.json`; la copia descargada conserva sus valores cerrados: modelos, Sol y web desactivados, presupuesto cero. Tras el apagado limpio, Exaroton contiene los tres archivos individuales en `config/raps/memory/`, fuera del mundo. Las copias para comprobación están en `respaldos/memoria-servidor-20261006/`. El ensayo finalizó con ambos jugadores pausados, guardado completo de las dimensiones y servidor apagado. `verificacion-memoria-servidor.log` finalizó con `BUILD SUCCESSFUL`: los siete recuerdos del mapa están íntegros en los archivos exteriores, incluidos fechas, confianza, ubicación y procedencia (Neon: cinco; Xenon: dos; Argon: cero). Neon conserva el resultado exitoso de consulta de latón: recetas de nuggets y bloque, y `create:mixing/brass_ingot`, con cobre y zinc para dos lingotes. El resultado tiene inventario sin cambios; no ejecuta la mezcla ni demuestra una fábrica funcional. La conservación y recuperación selectiva tras cambiar de mundo están cubiertas por los GameTests locales. La interfaz histórica «Jugadores» del panel no pudo inspeccionarse; el listado de participantes de su API sí quedó verificado. No hay skins personalizadas, sistema completo de personalidad ni monarca activo. La puerta de Sol está probada con transporte simulado; las facciones emergentes y su conexión al runtime estratégico siguen pendientes. ## Herramientas, banderas y parásito — entrega 0.3 `validacion-final-extensiones.log` terminó con **95 pruebas aprobadas** y `BUILD SUCCESSFUL` en 6 minutos y 13 segundos. El JAR distribuido mide **502 139 bytes**; SHA-256: `95fb47e82704133db01578dfac6d4e49be07e84f04f4bfe14878f8383d6b57ec`. La distribución, el cliente instalado y la copia descargada de Exaroton coinciden. Se verificaron versión, texturas, voces y registro de loot; no hay clases de pruebas, mantenimiento ni configuración privada dentro del archivo. `publicacion-extensiones.log` registra la sustitución del mod y de `agents.md`, además de la nueva configuración `parasite.json`. Las copias locales anteriores están en `respaldos/extensiones-20261006-025518/`; el puente conserva también los archivos remotos reemplazados. No se modificó la configuración de modelos: Luna, Sol y web siguen desactivados y el presupuesto permanece en cero. Exaroton inició con el modpack instalado. `exaroton-extensiones.log` registra la nueva ayuda, `/Raps mimicer estado`, `/Raps tools estado Xenon`, conexión de Neon y Xenon con sus UUID y roles anteriores y salida limpia. `exaroton-extensiones-participantes.json` confirmó los dos nombres. Ambos quedaron pausados; el listado final mostró cero jugadores y se comprobó el servidor apagado después de guardar todas las dimensiones. El meteorito quedó pendiente, sin huésped y en etapa 0. No se adelantó la infección de Neon o Xenon durante el ensayo de hosting. El reloj y preferencias se guardaron en `world/data/raps_parasite.dat` (208 bytes), y el registro exterior de herramientas en `config/raps/Tools/learning.json` (133 bytes). El cuerpo, las fases y el consumo físico de materiales se comprobaron en el mundo local de GameTests. Los logs del modpack mantienen advertencias de mixins y de comprobación de actualizaciones ya presentes en la versión anterior. No impidieron el arranque, los nuevos comandos ni las sesiones. Este ensayo no acredita todas las combinaciones del modpack ni la presentación en dos clientes simultáneos. Neon tiene salud 20/20 y comida 0/20; Xenon conserva 20/20 en ambas. Con Luna apagada no buscan alimento por iniciativa propia: al volver a conectar Neon necesitará comida real del mundo. No se entregaron recursos para alterar ese resultado. Los modelos se revisaron en `docs/parasito-modelos.png`, generado a partir de la geometría y las texturas del mod con cinco etapas y la variante sensible. Las tres frases originales y las vocalizaciones son Vorbis mono de 24 kHz; la lámina muestra una pose estática y no verifica las animaciones dentro de un cliente. ## Entrega 0.3.1 — compilación y despliegue El 6 de octubre de 2026 `validacion-parasito-final.log` completó **104 pruebas requeridas** y registró `All 104 required tests passed`. Después, `build-final.log` terminó con `BUILD SUCCESSFUL in 2m 11s`. El JAR reobfuscado mide **799 082 bytes** y su SHA-256 es `011437476DA459FD2ECBC9FCF178CE507ADEB1174FA60537C6F72D1E73016C42`. La copia de cliente (`mods/Raps.jar`), la distribución (`dist/Raps.jar`) y la copia remota de Exaroton fueron comparadas por tamaño y hash. El servidor estaba apagado durante la publicación y el puente guardó copias remotas antes de reemplazar `mods/Raps.jar`, `config/raps/agents.md`, `config/raps/parasite.json` y `config/raps/voice.json`. Luna, Sol y el proveedor web permanecen desactivados; las voces locales, el rig, las animaciones y las herramientas certificadas funcionan sin llamadas externas.