The obvious interpretation of "good" in that sentence is that it would allow the player to play chess according to universally defined and agreed-upon rules. Castling is one such rule. While I think one could argue there is some leeway with allowing the king to move into check since it doesn't prevent 2 players familiar with the rules from playing a valid game, inability to castle does not pass this litmus test. Castling is integral to the game and is neither obscure nor rarely invoked, even at the novice level - a game without it is simply not "chess". While I agree this is an impressive programming exercise and worthy of recognition in its own right, calling it a "new record" is like claiming a marathon record after running 25 miles
To play the devil's advocate, castling was a pretty late addition to the rule of chess compared to most other rules, so there used to be a game called "chess" which did not feature castling (nor the option to move pawns initially by two squares). Some regional variants of chess https://en.wikipedia.org/wiki/Indian_chess did not feature castling fairly recently (and differed from mainstream chess only by a few points), and there are stories of Indian chess players who became masters in Europe (as late as the early 20th century) even though they had learned to play without castling (can't recall the name of the one I had in mind, but there are such anecdotes at least for Mir Sultan Khan).
I agree that it would be nicer if the implementation followed FIDE rules, though, and that not being able to castle significantly changes the strategy.
Yes, totally agree. I think we could be lenient on moves validity - let's accept that the program will work correctly only if the opponent plays legal moves, and it also doesn't need to castle. Maybe it is also not necessary that it will detect mate or stalemate, we can assume that some external arbiter will end the game. But what I think a chess program absolutely needs to implement to be called a chess program is:
- should be able to play with both white and black
- support all normal moves obviously
- must allow opponent to play any legal move (castling, en passant, promote pawn to any figure)