JARVIS-MAGIC
Mise à jour 2.189
10/07/2026
v2.189.0.0REVISIONJarvis-MAGIC-DLL / SOL
PPP C2 Wave 1 + Audit SOL + Mise en page du tableau des gestionnaires
- C2 Wave 1 (GLM-5.2) : 193/193 gestionnaires uniques décompilés via IDA MCP dans la base de données IDB canonique
ffxoficial_post_vtable_struct_20260710_110730.i64. 10 catégories identifiées (Nullsub, Matrice d’Euler, Rand/Pattern, Transform/Matrix, Menu2D/Projection, FieldMap/Scene, Draw/VFX, Push/Copy Node, État d’animation, Divers).PPP_HANDLER_ENCODING_SPEC.mdrédigé avec la convention d’appel, la disposition des slots, la structure des nœuds et 5 modèles d’accès.SOL_PACKAGE_V2.mdconsolidé pour le transfert. Fixtures de 22 DLL avec plus de 6 650 slots. Rapport de couverture rédigé. 68 tests sur 68 maintenus. - Audit SOL (GPT-5.6) : audit adversarial du paquet V2 par rapport à l’IDB canonique. Structure de la table de gestionnaires vérifiée : entrées de 40 octets (0x28) avec
name_ptr@+0x00, pointeurs de mode@+0x04/+0x08/+0x0C, remplissage@+0x10..+0x27.0x730050confirmé comme étant à l'intérieur deApplyTransformPattern_F(pas de point d'entrée).0x75B320confirmé comme étantUpdateAnimationState(fonction d'aide interne, sans référence croisée depuis la table de répartition).pppRandUpFVpointeur de chaîne confirmé dans0xB50E0C. Interpréteur0x7170F0décompilé : ne lit que+4(direct_handler) dans le chemin visible ; la cascade+8/+Cn’est pas prouvée. - Pause pour vérification : C2/C3 bloquées jusqu’à l’extraction reproductible de la table de répartition + preuve matérialisée par le gestionnaire + sémantique
+4/+8/+Cprouvée.SOL_PACKAGE_V2.mdcontient toujours une affirmation non matérialisée de « 193/193 gestionnaires décompilés » (décompilations non conservées dans des fichiers individuels).HANDLER_TABLE_LAYOUT.mdetOPEN_QUESTIONS.mdcréés dans l’arborescence de travail. - Responsable des shaders (non bloquant) : 797 fichiers Phyre D3D11 dans
work/vanilla_bins/ffx_data/gamedata/ps3data/shaders; responsable secondaire pour la corrélation dessin/matériau, pas de preuve directe d’encodage PPP. - Statut : C2/C3
bloqueadas por evidência incompleta. Les couches A/B/C1 conservent des portes validées. ### Points forts
v2.189.0.0MINORJarvis-MAGIC-DLL
Magic DLL / PPP Assembler Lane : Couches A + B + C1 + Phase 2 + Analyse approfondie
- Couche A — Sérialiseur structurel WD3 (
wd3_writer.py) : reconstruit le préfixe de 224 octets (en-tête, table de pointeurs, espace vide, 5 en-têtes de flux) sans copierraw_bytes. Préserve la sentinelleend_offset=0, les champs réservés et l'invariantetotal_size/count_entries. - Couche B — Modèle de charge utile physique WD3 (
payload_map.py+wd3_blob_writer.py) : divise le blob de 110 272 octets en un préfixe typé (224 octets),post_prefix_gapopaque (5 296 octets) etbodyopaque (104 752 octets). 9 spans physiques canoniques avec 1 à 5 propriétaires logiques. Intégrale aller-retour sans modèle de.data. - Couche C1 — Codec à emplacement relocalisable PPP (
layer_c_slot.py+layer_c_resource.py) : sépare le WD3 du blob de ressources PPP, détecte les racines, parcourt les sections/programmes et réémet l’emplacement sur disque de 16 octets. Steam 353/353 PASS (355 racines, 1 623 sections, 24 888 programmes, 274 732 emplacements) ; fixtures 16/16 PASS (4 450 emplacements). - Catalogue des opcodes PPP : 274 opcodes répertoriés, 222 entrées de dispatch, environ 50 gestionnaires décompilés.
- Expériences de mutation de la phase 2 : permutation du chemin de texture testée en jeu ; permutation .data testée en jeu ; patch individuel float4/BGRA testé, qui ne modifie PAS la couleur visible (5 tentatives).
- Analyse approfondie : Blizzara/Watera/Thunder analysés ; système de shaders de la famille A cartographié (PPP→DXBC) ; cause première de l’animation par cible identifiée ; HOST_CONTEXT_MAP corrigé dans 11 documents ;
magic_0383reclassé comme faux positif. - Résultats : 68/68 tests réussis ; couches A/B Steam 6/6 + fixtures 16/16 ; C1 Steam 353/353 + fixtures 16/16 ; aucun diagnostic.
- Statut : couches A/B et C1
validadas; Couche C2+ (charges utiles, redimensionnement, nouvel effet)research only.
v2.188.0.0
v2.189.0.0MINORJarvis-AI/RE
UNI-003 Low HP Rush + Cross-Validation RE Complete + correction du HP Gate
- Correction du problème de HP Gate (NearDeath) : Cause première définitive — les champs 0x0000/0x0002 correspondent à la jauge CTB et aux tours, et NON aux PV/PV max. Corrigé pour le champ 0x0119 (booléen NearDeath, lit
[edi+594h]maxHpStat par rapport à[edi+5D0h]actuel ntHp). Testé en jeu sur Skoll m014 : le « HP gate » se déclenche correctement en dessous de 50 %. - UNI-003 « Low HP Rush » : Implémenté sous forme de préréglage « bake » en un clic dans l'éditeur. Lorsque les PV sont inférieurs à 50 % (NearDeath), applique Haste à lui-même + Slow à une cible aléatoire vivante de la ligne de front via
findMatchingChr(FrontlineChars, isAlive, 0, Any), one-shot via une variable privée. Composé de garde :var==0 && NearDeath(LAnd). Testé sur RT2 avec le binaire m014 modifié manuellement par l'utilisateur. - Nouveau record IR :
PerformCommandOnRandomFrontlineChrdansSinChainRecipe— modélise la cible calculée à l'exécution viafindMatchingChr. - Planificateur généralisé :
SinDryRunPlanner.PlanGuardedaccepte désormais des enchaînements d’actions (auparavant, une seule) ;LowerLinearActionprend en chargePerformCommandOnRandomFrontlineChr. - Validation croisée RE lane complète : SUPERMD (2 115 lignes, plus de 150 hypothèses vérifiées par rapport au binaire). 87 confirmées, 20 bugs réels corrigés, 120 nouveaux identifiants de fonction répertoriés. Côté écriture du commutateur de 346 cas mappés (0x7B4B80) — confirme 0x7018 = WriteChrProperty.
- Bugs critiques corrigés : 0x7050→0x705A (ForcePerformCommand), 0xB6→0xD8 (CALLPOPA), UNI-007 70 %→50 % (seuil NearDeath), étiquettes 0xFFF1 (AllAeons), 0x7078→0x706C (ReadMovePropertyForActor), étiquettes sentinelles (0xFFEC/0xFFEB/0xFFE9).
- Fichiers consultés :
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. - Compilation : 0 erreur. Tests : 1/1 VERT (SinPresetRecipeResolverTests). RT2 : HP gate + PhaseRotation confirmés en jeu sur Skoll m014.
- Statut :
Precisa Testar— le câblage du bouton UNI-003 dans l'interface utilisateur (.axaml.cs) et le RT2 du bouton « one-click » manquent.
v2.188.0.0