Ruleset validation and runtime polymorphism
Say we have an application called 'Sales' with a built-on application 'SalesBase'. If we have a section in 'SalesBase' that refers to another rule in 'Sales', this is throwing a validation error. Pega does not allow traversing in the stack in this direction. However, if we then create a placeholder rule in 'SalesBase', it is validated and we can save it. Furthermore, runtime polymorphism / rule resolution will pick the version in 'SalesBase'.
I tried to find a good explanation for this behaviour, but the topics on polymorphism are a little bit thinner.