For the record: I’m not against inheritance, or even using inheritance by default. I use it in plenty of situations, since it essentially lets you assign tags (and other properites) “in bulk.”
But there are just as many situations where I want exact matches. Especially for filters that employ negation or booleans, it can be very hard to achieve predictable results. Simple example: PARENT = plain and its CHILD = Task. If I filter to hide Tasks, I see just the Parent. The child doesn’t inherit the mutually-contradictory non-task-ness of its Parent. So inheritance apparently is overriden by the child’s property. I particularly hate this behavior because the parent is shown without the ‘expander’ caret. So it is either hard (if bold parents is ON) – or impossible – to tell that it’s a Parent at all. I can’t figure out any reason to actually want this outcome.
How does this work with priorities, where the different options have a ‘hierarchy’? Example:
Priorities (multiple, ranked states): If PARENT = pri1 and its CHILD = pri2. Child gets filtered as if it is both pri1 and pri2 at the same time. You can’t, actually, do anything to hide either the parent or the child whether you use pri1, pri2, -pri1, or -pri2 filters.