00d326c1ba
Build & Test (NowChessSystems) TeamCity build finished
## Summary - Introduces `GameContext` wrapper (board + castling rights) threading through the entire engine pipeline - Extends `MoveValidator` with `castlingTargets`, context-aware `legalTargets`/`isLegal` overloads, and helpers (`isCastle`, `castleSide`) - Updates `GameRules.legalMoves` and `gameStatus` to use `GameContext`, preventing false stalemate when castling is the only legal move - Adds castle detection and atomic execution (`withCastle`) to `GameController.processMove`, plus full rights revocation via source- and destination-square tables ## Test Plan - [ ] 142 tests passing, 100% statement and branch coverage on `modules/core` - [ ] White/Black kingside (e1g1/e8g8) and queenside (e1c1/e8c8) castling moves execute correctly - [ ] All six legality conditions enforced (rights flags, home squares, empty transit, king not in check, transit/landing squares not attacked) - [ ] Rights revoked on king moves, own rook moves, castle moves, and enemy rook captures - [ ] False stalemate correctly prevented when castling is the only escape Co-authored-by: LQ63 <lkhermann@web.de> Co-authored-by: Janis <janis.e.20@gmx.de> Reviewed-on: #1 Reviewed-by: Janis <janis-e@gmx.de> Co-authored-by: Leon Hermann <lq@blackhole.local> Co-committed-by: Leon Hermann <lq@blackhole.local>