Before evaluating a rule type against an entity, rtengine should check whether the entity's provider implements the trait(s) listed in the rule type's provider_traits (if set), the same way it already gates on entity type. If the provider doesn't implement the required trait, the rule type should not run against that entity — analogous to how entity-type mismatches are handled today, not via ErrEvaluationSkipped.
Depends on: schema field from sub-issue 1.
Before evaluating a rule type against an entity, rtengine should check whether the entity's provider implements the trait(s) listed in the rule type's
provider_traits(if set), the same way it already gates on entity type. If the provider doesn't implement the required trait, the rule type should not run against that entity — analogous to how entity-type mismatches are handled today, not viaErrEvaluationSkipped.Depends on: schema field from sub-issue 1.