-100 for removing `--environment` on the agent side. Right now the ENC can override the agent environment setting, which makes sense. However if a specific environment is not set by the ENC, then the agent should be able to set a specific environment. https://puppetlabs.com/blog/git-workflow-and-puppet-environments/ is very very heavily reliant on this behavior and a lot of existing users depend on this.

I don't think I can emphasize this enough; being able to easily add environments on the master and switch environments on the agent is very important.