Files
Cesarus85--mjolnir-vr/source
Jonas VolmanandClaude Opus 5 9eca0524de Close ai_script.obj at 116/116 (+214 meaningful bytes)
_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>
2026-09-20 12:14:50 -07:00
..
2025-11-28 00:16:20 +00:00
2026-09-19 15:56:43 -07:00
2026-09-19 15:56:43 -07:00
2026-06-08 02:47:21 +01:00