Wraf should be self aware of its reasoning, during it's reasoning process, in order to choose tactics (the path) to get an answer and to change path during the process.
Circular reasoning is detected and avoided.
Wraf has a certain amount of patience. It will give up if it has to do too much work to get an answer. Every request is coupled with some type of expected response. For example, a person is only expected to have one date of birth. If one answer is found on the question of date of birth, we can stop searching for more answers. There may be another answer somewhere. The context will have to contain implicit information on whether it's ok to return the first best answer, or if we should search everything (we can find).
Not implemented