A model based on agents that receive and apply a catalog received from the Puppet Master has an intrinsic limitation. The client has no visibility and direct awareness about the state of resources of the other nodes.
It is not possible, for example, to execute functions that do different things according to different external conditions, during the catalog application. There are many cases where information about other nodes and services could be useful to manage local configurations. For example, we might have to perform the following actions: