Industrial robots have remained the fastest-growing market, within the overall robotics industry sales, in recent times. These robots have shown that when tasked with repetitive, structured tasks under controlled constraints they can contribute to society by ensuring consistent quality and significantly bringing down amortised costs. However, the requirements of general robotics are moving towards a future where user needs adaption and generalisation based on few inputs. Such a setting brings a number of realistic, but yet unattainable, robotics challenges which are summarised by the overarching question of how to transfer known plans for a given task to a similar environment but different in a number of ways? We formulate this as a question of ”plan repair” which revises the original plan based on new or contrary observations made by the robot during execution. We assume a nominal plan and base demonstrations for grounding it and solely focus on the problem of how to: autonomously monitor a system for failures, localise the cause of said failure, and recover by repairing the original assembly plan. We observed that by contextualising failures using the knowledge of how the task progresses in nominal conditions we were able to reason about the pathology of it and implemented different recovery procedures in our execution framework to deal with them accordingly. We ground observations in more general low-level representations and present an instantiation of our meta-reasoning system on an assembly robot which recovers from failures and conducts repair of its knowledge-base using these low-level inputs. We observe that these representations make our system more flexible and able to repair a broader class of repairs than using abstract, high-level representations to encode system expectations alone.