- Add ml_log param, ml_decisions list, flush_ml_decisions() to GameEngine - Capture ML snapshots at each player turn in run_n() - Stamp game_outcome (win/loss per seat) on all decisions - Add _capture_ml_snapshot() matching DeepSeekGameEngine format - Add game_id and archetype params to run_n() for ML tracking - Import logging, uuid; add logger