Trying to automatically rank parse rules by specificity seems too magical (and probably still doesn’t solve the problem, as you might still have ordering issues between rules with the same specificity). Have you seen the priority option to parse rules?
Yes, i did not mean it wasn’t solvable, and indeed priority is the way to go.
However in an environment with lots of node types i found it easy to get confused.
So i’m really asking for considering adding a “not” feature for context. Is it something coherent with how context is checked ?
I’m not convinced that helps a lot—you still have to explicitly take the interaction between the parse rules into account to know that you have to add such a negative context, at which point you might as well give them an explicit priority.
I think that in situations like this, where you build something from many building blocks that may interact, the need to audit the relations between the building blocks is something that’s hard to get around.