mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-29 04:01:10 +01:00
_ai_scripting_migrate_and_speak becomes strict exact: 224/224 padded bytes, 16/16 relocations, relocdiff reports sha equal and zero differing rows. January's call site cleans 0x14 bytes (five dwords) and loads speech_type only afterwards at +0x7d, while the format literal read out of January's .rdata is "%s: ai_migrate_and_speak %s %s %s" - four %s conversions for three values. Our source was passing speech_type as a fourth value and cleaning 0x18. Landed under the original-bug policy with a BUG (preserved for exact matching) comment that records the evidence, the runtime consequence (the fourth conversion's slot is the saved-EDI home, so vsprintf dereferences the caller's entry EDI as a char *) and the corrected form. The branch is reachable only under ai_debug.print_migration / print_scripting. Flagged for owner ratification in the wave report; reverting is a single token. Verification: full ninja build 1,444,193/1,770,166 Halo bytes (7,292/7,574 functions); stable_verdicts diff gained 1 / 224 bytes / 0 regressions; accepted ledger +214 meaningful / 0 regressions; parks 184 active / 0 stale / 0 invalid; admission audit 19/0/8/0; fake scan 0 findings in the changed file and the same 2 inherited findings across source/ai; git diff --check clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>