Evaluate FactionGateRule rows before TryActivate; deny with faction_gate_blocked when standing is below minStanding. Integration and Bruno deny smoke included.