Mise à jour 2.125
16/06/2026
updateauroraJARVIS-AURORA
Finalisation balistica Aurora Phase 1 : sonde `aurora-calib-v2` (CSV/JSON avec résiduel identity/flipZ/yaw180 + height_0x534). Voie Jarvis-AURORA. MINOR (nouvelle capacité : nouveau mode `ffxprobectl` émettant un artefact CSV+JSON avec un nouveau schéma de calibration de résiduel ; première fois qu'on couple `chunk3.monLive` × `actor+0x3B0` × `actor+0x534` dans une sonde structurée). Implémente la Phase 1 du plan Aurora (`.cursor/plans/aurora_balistica.plan.md`). Spec suivie : `docs/reverse/FFX_AURORA_CALIBRATION_PROBE_SPEC_2026-06-15.md` (identité XZ prouvée le 2026-06-05 par IDA ; résiduel Y encore RT2-en-attente). Le mode : `ffxprobectl aurora-calib-v2 [--route <field> <group> <formation>] [--battle <id>] [--out <json>] [--csv <csv>] [--max-slots <N>]` (lecture seule, pas d'instrumentation MMF au-delà de la fenêtre de lecture `Arm(1, ...)` existante). Pour chaque slot `monLive` jusqu'à `min(monCount, max-slots=16)` : lit `chunk3.monLive[s]` depuis `g_FFX_Battle_AreaChunk + ptr@+0x20 + 16s` (XYZW), résout `actor[s] = 0x11334CC + 0xF90s`, lit `actor+0x3B0` (XYZW monde), `actor+0x3C0` (XYZW cache optionnel), `actor+0x534` (float de hauteur). Calcule 3 résiduels : `identity = actor - chunk`, `flipz = actor - (cx,cy,-cz)`, `yaw180 = actor - (-cx,cy,-cz)` avec les composantes `dx/dy/dz` + RMS (plein + XZ-only). Acceptance (correspond à A01) : `identity_rms_xz < 0.5` ET `identity_rms 5 < flipz_rms` ET `identity_rms 5 < yaw180_rms` -> `winner=identity` ; les alternatives ne gagnent que si leur rms<1.0 (improbable post-IDA — émet une alerte « UNEXPECTED — investigate ») ; slot bloqué si tableau d'acteurs invalide / monde non-fini (despawn/animating) — cas `blocked-runtime-state`, PAS `fail`. Sortie : JSON (`work/actor_overlay/aurora_calib_<battle_id>_<utcstamp>.json` par défaut) avec `verdict` consolidé (`identity-confirmed-live` / `ALERT-non-identity-winner` / `blocked-runtime-state` / `partial`) + un tableau `rows` ; CSV parallèle avec 36 colonnes (qpc, battle_id, route field/group/formation, area_chunk_va, actor_array_va, slot, dict_id, chunk_xyzw, actor_xyzw, actor_cache_xyz, height_0x534, identity/flipz/yaw180_dx/dy/dz/rms, identity_rms_xz, winner, reason). Build : `dotnet build RuntimeTools/FfxDinput8Probe/ctl/Ctl.csproj -c Release` PASS (0 erreurs, seulement les avertissements préexistants CS8632/CS0219). Ne touche pas : DLL de sonde (`ffx-probe.dll`), portes hors ligne, FfxHooksDll. Prochaine phase : RT2 calib-v2 avec Halyson sur 4 batailles dorées (`azit03_00`, `bsil05`, `klyt00_00` + un contrôle comme `425/0/0`) — recette dans `docs/reverse/FFX_AURORA_FORCE_BATTLE_CALIBRATION_PROTOCOL_2026-06-15.md`. RT2 Phase 1 = N/A (build de sonde seulement) ; RT2 Phase 2 = bloqué sur l'humain (Halyson).
Lire les notes