AiStartInternal now writes a BattleContext keyed by viewer id; the next commit consumes it in /finish to write a ViewerBattleHistory row. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>