Actualización 2.40
9/6/2026
v2.40.0BETA
Seymour
Ensamblador AI: un corrector de pila (Nivel 1+2): advierte cuando una edición vacía la pila + dice cómo solucionarlo
- El propietario solicitó un "corrector mini-AI" que ayuda a corregir errores de ensamblaje. El validador ya detectó un código de operación/salto colgante/índice OOB no válido, pero no el error de edición manual número uno: desequilibrio de pila. Ahora lo hace. RE conectado a tierra (FFXDataParser): nuevo
FfxLib/Ai/AiStackModel.cs= efecto de pila por código de operación (deOPCODE_STACKPOPS) + aridad de 269 funciones (recuentos de entrada deScriptFuncLib; descriptor de acceso = ¿asunto?+índice+valor?).AiValidatorsimula la profundidad de la pila (restablecida a 0 en el punto de entrada/objetivo de salto) e informa el desbordamiento. Giro honesto clave: las aridades del analizador no siempre coinciden con el VM REAL (comprobado: el analizadorsetSelfFloating 0x7029dice 2, el corpus presiona 1), por lo que en lugar del recuento absoluto (que daría un falso positivo en un código válido), diferencia la pila ORIGINAL vs EDITADA: el ruido de aridad existe en ambos y se cancela, dejando solo lo que SU edición rompió. El mensaje (Nivel 2) dice en lenguaje sencillo dónde se vació + cómo arreglar ("devuelva el PUSH que era un argumento; cada declaración empuja los argumentos ENTONCES llamadas"). Superficies automáticas en el panel Validación. Puerta--ai2: validador limpio 346/346 (cero falsos positivos en el corpus) + pila-romper capturado 1/1 (demuestra que detecta un arg-push eliminado);--ai3PASS; RT0 byte idéntico (solo análisis, cero bytes). El editor genera 0 errores. Honesto: detecta lo que introducir la edición; finura de algunas funciones = público RE (calibración del corpus = futuro)
v2.39.2
v2.40.1BETA
Seymour
AI Ensamblador: un botón "Intentar arreglar" (Nivel 3, corrección automática honesta)
- Cierra el corrector: un botón 🪄 Intentar arreglar junto a Validar/Guardar. La regla honesta (del propietario): aplique solo una solución que tenga UNA ÚNICA respuesta correcta; sugiere el resto, nunca adivines. En el modelo ensamblador (que deriva
HasOperanddel propio código de operación), la única solución inequívoca es restaurar una fila que marcó para su eliminación y que resulta ser el OBJETIVO de un salto/punto de entrada; DEBE permanecer (re: señalar la rama cambiaría el comportamiento = una suposición). El botón re-valida en un bucle, quita esos objetivos colgantes (resolviendo el caso #1 "Quité algo y se rompió"), y para los errores SIN una sola respuesta (código de operación no válido, OOB de índice de salto, subdesbordamiento de pila de Nivel 1) explica en el informe qué hacer pero NO los toca - "No adivino tu intención". Informa cuántos arregló + cuántos aún necesitan su llamada.MonsterAiEditor_DataModel.Assembler.TryAutoFixAssembler(utiliza elAiValidatorprobado en puerta; nunca edita un operando/código de operación ni elimina nada). El editor genera 0 errores;--ai2/--ai3PASS (RT0 con bytes idénticos: solo invierte los indicadores de eliminación de VM, sin cambios de bytes). Honesto: una corrección automática que adivina la intención = un error silencioso, por lo que el botón tiene un diseño conservador
v2.40.0