A variável $environment não é tecnicamente um fato - ela é definida pelo agente de seu puppet.conf , em vez de um fato. Você precisará editá-lo no puppet.conf do agente, em vez de facts.d .
Um ENC pode definir o ambiente de um nó (sobrescrevendo o que o agente seleciona como seu próprio ambiente), mas o mestre precisaria ser o responsável por substituí-lo, não pelo agente.