There might be some other changes which don't need to trigger a cache clear; for example, I'm thinking hiera YAML files might not be cached, but I'm not certain. Clearing the environment cache is a pretty lightweight operation, so that is what we default to. Clearing the jruby pool has heavy impact on the puppetserver, so we only do that when we have to.