150e78e080
Detect castle moves via MoveValidator.isCastle and dispatch to Board.withCastle so both king and rook are moved atomically. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>