Because the engine eval can swing significantly in openings, especially at lower depths, if you put the loss limit at -20 or greater, sometimes the engine will reject all candidate moves.
This occurs because we work out the loss limit by doing this:
get the eval in the base position
play our candidate move (Bb2) and get the eval
play the engine’s best response and get the eval
check that the eval after the response isn’t worse by loss limit, or worse than the soundness limit
We have to do this because the engine gets to see one move deeper after our opponent’s move on the next turn, so if we don’t check the eval after their best response now, we can get into a situation where we thought a move was just within the soundness limit, but with 1 more move played the engine can see it’s just outside the soundness limit. Aka we can ‘slip’ out of the soundness limit.
But, essentially the engine can disagree with it's earlier assessment once it has slightly more depth (after all possible moves are played). This means all moves are rejected.
Because the engine eval can swing significantly in openings, especially at lower depths, if you put the loss limit at -20 or greater, sometimes the engine will reject all candidate moves.
This occurs because we work out the loss limit by doing this:
We have to do this because the engine gets to see one move deeper after our opponent’s move on the next turn, so if we don’t check the eval after their best response now, we can get into a situation where we thought a move was just within the soundness limit, but with 1 more move played the engine can see it’s just outside the soundness limit. Aka we can ‘slip’ out of the soundness limit.
But, essentially the engine can disagree with it's earlier assessment once it has slightly more depth (after all possible moves are played). This means all moves are rejected.