Build an AND / OR / NOT tree of conditions. A rule fires when the whole tree is true against live analytics (with a per-rule cooldown so it won’t spam).