If the normal error messages from debug mode are not useful for your problems, then I recommend using the the print() or globals.traceFile() functions to track what is happening or not happening. When I am uncertain how code is actually executing, I'll scatter those around the code and run it to see what ran and what didn't. Usually it looks something like this:
print("Here1")
... various code ...
print("Here2")
... various code ...
print("Here3, var1: " + str(var1))
It is a simple boolean change with no other consequences, so the simplest way to give yourself the healing spell is to add a line like this to the _ready() function in Mansion.gd:
globals.spelldict.heal.learned = true