Actualización 2.77
10/6/2026
v2.77.0BETAMINOR
Seymour
SIN Puerta 3 del constructor de cadenas: AiScriptLab puente de validación para el `SinApplyPlan` (de solo lectura) — valida planes, hace NO aplicar; SIN permanece BLOQUEADO para escribir
- Abre Puerta 3 del SIN Constructor de cadenas: se necesita de SHINRYU solo de vista previa
SinApplyPlan(Puerta 2) y corre AiScriptLab/AiValidator-compatible lo revisa, todavía sin cargar un monstruo, sinRebuild/Splice, sin un AEON diff, sin disco y sin aplicar nada. Responde exactamente una pregunta: "Es esto solo de vista previa plan estructuralmente aceptable (el código de bytes que emitiría es bien formado), y ¿cuáles son los bloqueadores/advertencias/errores honestos que aún se interponen entre esto y una aplicación?". nuevas clases enFfxLib/Ai/Sin:SinPlanValidator(Validate(SinApplyPlan) → SinPlanValidationResult, solo leeAiScript_Filetablas estáticas +AiStackModel+ el plan),SinPlanValidationResult(espejosAiValidationReportVocabulario a nivel de plan:Errors/Blockers/Warnings/Infos,StructurallyValid= sin errores,ApplyAcceptable= falso por construcción en la puerta 3) ySinAiScriptLabBridge(los campos de registro bajo nivel controles sobre un sueltoAiInstructioncorriente, noAiScriptFile). cheques (los campos de registro SOUND subconjunto fuera de línea, idéntico a lo queAiValidatorse utiliza): (1) cada código de operación ∈ los 48 probados (AiScript_File.IsKnownOpcode); (2)HasOperandestá de acuerdo con el0x80regla de tamaño (IsOperandBearing) - demásEmit()mis-sizes el arroyo; (3) por-instruction RT0 (Emit()re-decodes al mismo código de operación+operando); (4) statement-nivel equilibrio de pila a través deAiStackModel(un cuerpo lineal genera 0; un guardia se va exactamente 1 bool seleccionados para obtener los valores D7/POPXNCJMP). Veredicto para los 3 pilotos: todos estructuralmente válido PERO aplicar-BLOQUEADO (solo de vista previa) — SIN-006/SIN-009 (lineal) saldo neto 0; SIN-010 (HP-protector) deja exactamente 1 bool + a neto 0 acción. de SHINRYU DIV/MUL hallazgo manejado EXPLÍCITAMENTE (NEMESIS decisión = mantener como ESPERADO BLOQUEADOR, hacer NO corrección): la dirección está probada (0x16=DIV/0x17=MULa través de un censo de 345 monstruos + IDAFFX_Atel_InterpretWorkerOpcodes@0x864180+ FFXDataParser), entoncesAiSnippetLibrary'sMULobligado a0x16es un error confirmado, pero el reconciliación completa (arregla la constante + re-validate CADA consumidor:MonsterAiEditor,AiAutomation,--aiasm-rt0/--ai2/--ai3+ re-prove RT0/RT2) es un dedicado PARCHE fuera de un de solo lectura puerta de validación (y RT2 Está prohibido para la puerta 3.). La idea estructural que demuestra por qué debe ser una BLOQUEADOR y no un error:AiStackModelda neto -1 para AMBOS DIV y MUL → la pila se equilibra de forma idéntica, el byte vuelve a analizar solo RT2 detecta la aritmética incorrecta. El validador lo presenta como un Advertencia + Bloqueador con la evidencia completa, y la puerta confirma la HP% receta permanece bloqueado y fue NO arreglado silenciosamente (el planificador todavía emite0x16,AiSnippetLibraryintacto). Aditivo (compatible hacia atrás) extensión:SinPlannedStepganadoGuardOps/BodyOps(lo crudoAiInstructionel planificador ya ha calculado) entonces el validador inspecciona exactamente lo que produjo el planificador (única fuente de verdad; predeterminado vacío → cada Puerta-2 sitio de construcción sigue compilando y--sin-dryrun-rt0permanece PASS). Nuevo de solo lectura puerta--sin-validate-rt0: valida a los 3 pilotos y afirma válido estructuralmente + aplicar-NO-aceptable + bloqueadores honestos + la escala de ascenso insatisfecha + ningún candidato→creación-ready + (SIN-010) los campos de registro DIV/MUL bloqueador presente y no-corregido; Validación determinista. (NUEVO capacidad ejecutable: validador + puerta). Alcance/honestidad: SIN permanece BLOQUEADO para escribir — Puerta 3 valida planes, no aplica planes; "Limpio para DISEÑO no está desbloqueado para ESCRITURA" - y limpio-structure Tampoco desbloquea la escritura. lo hace NO escribir/guardar/Rebuild/Splice/AEON diff/copia de seguridad/RT2/botón/UI; lo hace NO tocarmonster_*.bin/runtime/Aurora/native-menu/Blitzball/Shop/Mix/Sphere/Common(ANIMA) o elMonsterAiEditor. Errores de compilación 0;--sin-validate-rt0+--sin-dryrun-rt0(Puerta 2, sin regresión) +--aicmdmeta-rt0+--spiraatlas-rt0+--aiasm-rt0(AiScriptLab, 346/346 RT0 en el corpus REAL) todos PASS. Docs:docs/ai/SIN_NEMESIS_AISCRIPTLAB_VALIDATION_RESULT_2026-06-10.md+docs/ai/HANDOFF_NEMESIS_SIN_AEON_DIFF_GATE_NEXT_2026-06-10.md
v2.76.0