- Shipped
- 26 octombrie 2026 la 17:59 UTC
- Author
- Kamo
- Commit
- 2c5673d
SITP TPGAMES (proprietarul 2026-10-26: un SI cerut să joace șah nu știa cum). - ChessSiPlayer: eveniment-driven (ChessTurnEvent după fiecare schimbare comisă). Invitația unui membru: SI se alătură și mintea sa este trezită o singură dată (un chat Notificare pe conversația cardului) pentru a-i saluta. O extragere a unui membru Oferta: acceptată, cu excepția cazului în care SI este în față cu mai mult de jumătate de pion. ChessAi (alpha-beta + repaus, timp-bugetat) alege mutarea la Nivelul SI și se joacă ca SI prin intermediul ChessGameService.move, ~0.7 s pauză, o sarcină în așteptare pe joc, 100% din timp în așteptare 200 pe pod, Redis revendicări între poduri, FEN re-verificat înainte de scriere. - ChessSiEligibility, fiecare mutare: aplicație de șah pe, PLAY_CHESS aplicat, runtime Nu este PAUZAT/BLOCAT/RETRAT. - Recuperare de măturat (singleton, 30 s) pentru un rând de o repornire sau pauză ratat. - Fără forumuri SI-vs-SI (invitație refuzată; nu se joacă pentru nimeni). - Abilitatea pe joc (CASUAL/CLUB/MASTER, implicit CLUB) în Redis, fără DDL; POST /games/{id}/si-level; mutările scrise (SAN sau e2e4) pe /move. - Tabla arata poza adversarului (opponentAvatarUrl a fost intotdeauna null), opponentIsSi și siLevel. - Fix: un ChessAi partajat de fiecare cerere a concurat propriile sale câmpuri de termen. Teste: ChessSiPlayerTest 11, ChessSiRulesTest 15, interogare parse 1; șah și Jocuri suites verde (100).
