Whole-branch review flagged that NewGame.construct validated class and origin refs but not player.name. The canon-log schema requires player.name with minLength:1, so a missing/blank name previously returned ok:true and produced a log the API would reject with 422. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>