JARVIS-MAGIC
Aggiornamento 2.189
10/07/2026
v2.189.0.0REVISIONJarvis-MAGIC-DLL / SOL10 lug 2026
PPP C2 Wave 1 + Audit SOL + Layout Tabella Handler
- C2 Wave 1 (GLM-5.2): 193/193 handler unici decompilati tramite IDA MCP nell'IDB canonico
ffxoficial_post_vtable_struct_20260710_110730.i64. 10 categorie identificate (Nullsub, Matrice Euler, Rand/Pattern, Transform/Matrix, Menu2D/Projection, FieldMap/Scene, Draw/VFX, Push/Copy Node, Stato Animazione, Varie).PPP_HANDLER_ENCODING_SPEC.mdscritto con calling convention, layout slot, struttura nodo, 5 pattern di accesso.SOL_PACKAGE_V2.mdconsolidato per il passaggio. Fixture di 22 DLL con 6.650+ slot. Report di copertura scritto. 68/68 test mantenuti. - Audit SOL (GPT-5.6): Auditoria avversariale del pacchetto V2 contro l'IDB canonico. Layout tabella handler provato: voci da 40B (0x28) con
name_ptr@+0x00, pointer modalità@+0x04/+0x08/+0x0C, padding@+0x10..+0x27.0x730050confermato come interno diApplyTransformPattern_F(non entrypoint).0x75B320confermato comeUpdateAnimationState(helper interno, senza xref dalla dispatch table).pppRandUpFVpuntatore stringa confermato in0xB50E0C. Interprete0x7170F0decompilato: legge solo+4(direct_handler) nel percorso visibile; cascade+8/+Cnon provato. - Pausa per evidenza: C2/C3 bloccate fino a estrattore riproducibile della dispatch table + evidenza materializzata per handler + semantica
+4/+8/+Cprovata.SOL_PACKAGE_V2.mdcontiene ancora un claim non materializzato di "193/193 handler decompilati" (decompilazioni non persistite in file singoli).HANDLER_TABLE_LAYOUT.mdeOPEN_QUESTIONS.mdcreati nel working tree. - Lead shader (non bloccante): 797 file Phyre D3D11 in
work/vanilla_bins/ffx_data/gamedata/ps3data/shaders; lead secondario per correlazione draw/materiale, non evidenza diretta di encoding PPP. - Stato: C2/C3
bloqueadas por evidência incompleta. I layer A/B/C1 mantengono gate validati. ### Punti salienti
v2.189.0.0Jarvis-MAGIC-DLL10 lug 2026
Magic DLL / PPP Assembler Lane: Livelli A + B + C1 + Fase 2 + Analisi Approfondita
- MINORE
- Livello A — Serializzatore strutturale WD3 (
wd3_writer.py): ricostruisce il prefisso di 224 byte (header, tabella dei puntatori, gap, 5 header di stream) senza copiareraw_bytes. Preserva la sentinellaend_offset=0, i campi riservati e l'invariantetotal_size/count_entries. - Livello B — Modello del payload fisico WD3 (
payload_map.py+wd3_blob_writer.py): partiziona il blob di 110.272 byte in un prefisso tipato (224B),post_prefix_gapopaco (5.296B) ebodyopaco (104.752B). 9 intervalli fisici canonici con 1–5 owner logici. Round-trip integrale senza template di.data. - Livello C1 — Codec di slot relocatable PPP (
layer_c_slot.py+layer_c_resource.py): separa il WD3 dal blob di risorse PPP, rileva le root, percorre le sezioni/programmi e riemette lo slot on-disk da 16B. Steam 353/353 PASS (355 root, 1.623 sezioni, 24.888 programmi, 274.732 slot); fixture 16/16 PASS (4.450 slot). - Catalogo opcode PPP: 274 opcode catalogati, 222 voci di dispatch, ~50 handler decompilati.
- Esperimenti di mutazione Fase 2: swap del percorso della texture provato in-game; swap di .data provato in-game; patch individuale float4/BGRA provata a NON cambiare il colore visibile (5 tentativi).
- Analisi approfondita: analizzati Blizzara/Watera/Thunder; mappato il sistema di shader Family A (PPP→DXBC); trovata la causa prima dell'animazione per target; corretto HOST_CONTEXT_MAP in 11 documenti;
magic_0383riclassificato come falso positivo. - Evidenza: 68/68 test PASS; Livello A/B Steam 6/6 + fixture 16/16; C1 Steam 353/353 + fixture 16/16; zero diagnostica.
- Stato: Livelli A/B e C1
validadas; Livello C2+ (payload, resize, nuovo effetto)research only.
v2.188.0.0
v2.189.0.0Jarvis-AI/RE10 lug 2026
UNI-003 Low HP Rush + Cross-Validation RE Completo + HP Gate Fix
- MINORE
- HP Gate Fix (NearDeath): Causa prima definitiva — i campi 0x0000/0x0002 sono CTB Gauge/Turns, NON HP/maxHP. Corretto nel campo 0x0119 (booleano NearDeath, legge
[edi+594h]maxHpStat vs[edi+5D0h]curre ntHp). RT2-proved in-game nello Skoll m014: l'HP gate si attiva correttamente sotto il 50%. - UNI-003 "Low HP Rush": Implementato come preset bake one-click nell'editor. Quando HP < 50% (NearDeath), applica Haste a se stesso + Slow a un bersaglio casuale vivo della frontline tramite
findMatchingChr(FrontlineChars, isAlive, 0, Any), one-shot via variabile privata. Guard composto:var==0 && NearDeath(LAnd). RT2-proven tramite il binario m014 modificato manualmente dall'utente. - Nuovo record IR:
PerformCommandOnRandomFrontlineChrnelSinChainRecipe— modella bersaglio calcolato a runtime tramitefindMatchingChr. - Planner generalizzato:
SinDryRunPlanner.PlanGuardedora accetta combo di azioni (prima solo 1);LowerLinearActionsupportaPerformCommandOnRandomFrontlineChr. - Cross-Validation RE lane completa: SUPERMD (2115 righe, 150+ assumption verificate contro il binario). 87 confermati, 20 bug reali corretti, 120 nuovi function ID catalogati. Write side dello switch di 346 case mappato (0x7B4B80) — conferma 0x7018 = WriteChrProperty.
- Bug critici corretti: 0x7050→0x705A (ForcePerformCommand), 0xB6→0xD8 (CALLPOPA), UNI-007 70%→50% (NearDeath threshold), 0xFFF1 labels (AllAeons), 0x7078→0x706C (ReadMovePropertyForActor), sentinel labels (0xFFEC/0xFFEB/0xFFE9).
- File modificati:
SinChainRecipe.cs,SinPresetRecipeResolver.cs,SinDryRunPlanner.cs,MonsterAiEditor_DataModel.Sin.cs,SinScaleInject/Program.cs,SinPresetRecipeResolverTests.cs,AiChrPropertyNames.cs,AiScript_File.cs,AiTargetNames.cs,universal.csv,PORT_STATUS.md,SESSION_HANDOFF.md. - Build: 0 errori. Test: 1/1 GREEN (SinPresetRecipeResolverTests). RT2: HP gate + PhaseRotation confermati in-game nello Skoll m014.
- Status:
Precisa Testar— mancante il wiring del pulsante UNI-003 nella UI (.axaml.cs) e l'RT2 del pulsante one-click.
v2.188.0.0