distinguish between keep and lock in the solver request