I think you need to make the multi-step process not only Levenshtein. First, I would check if the input word is a form of the target word. This will catch your third example, and also don't worry about adding points. You can also use this step to catch synonyms. The next step is to check the difference in the length of the two lines.
If the difference is 0, you can make a letter to compare letters to place points. If you do not want to show all points, you must save the number of points and display some error message once above the limit. (Sorry it was wrong)
If the difference indicates that the input is longer, you need to check that the message will be deleted to fix the problem. Here you can use Levenshtein to see how close they are, if they are too far, show your error message, if it is within range, you will need to take Levenshtein steps in reverse order and mark the changes in some way. Not sure how you want to show that the letter needs to be deleted.
If the difference shows that the input is shorter, you can use the Levenshtein distance to see if the two words are close enough or show an error. Then follow the steps back, adding points for insertion and points for substitutions.
In fact, the last two steps can be combined into one function that goes through the algorithm and remembers the insert delete or substitution and changes the result accordingly.
source share