Black's final move is ruled a blunder despite a "stalemate" of sorts (50 moves with no progress):
https://lichess.org/rVIQSel9#200
I believe that evaluation is correct. You're essentially going from a won game (mate in 15) to a 0 evaluation.
The final position somehow has an evaluation despite the opponent being unable to make a move (due to the 50-move rule).
The evaluation is given as if a draw has not been claimed. The same will happen when evaluating the position after a three-fold repetition. (Basically, the best move is to immediately play something, before the opponent can claim the draw :D)
This is happening because Stockfish considers moves in the root position instead of the root position itself. That's by design.
We can either fix it by not even asking Stockfish these positions, or live with this artifact and teach users that this is how UCI engines work.
Thanks, educating players seems like the best solution.
Most helpful comment
The evaluation is given as if a draw has not been claimed. The same will happen when evaluating the position after a three-fold repetition. (Basically, the best move is to immediately play something, before the opponent can claim the draw :D)
This is happening because Stockfish considers moves in the root position instead of the root position itself. That's by design.
We can either fix it by not even asking Stockfish these positions, or live with this artifact and teach users that this is how UCI engines work.