Yeah, it does get tricky as this isn’t what you’d call typical software development. My thought was to perhaps set up a CI pipeline in Git so that you had build/test/deploy stages as described on https://docs.gitlab.com/ee/ci/yaml/README.html. I would think that you could set up triggers so that when one modifies something like an Xlate in the DEV environment, it would push to that branch (either manually, or with autocommit from gitwatch as described in my previous post) and be ready in the pipeline.
Once the pipeline is run, it could pull the dev branch to the test environment (build stage) and execute scripts to validate the file using the command-line tools in cloverleaf such as hcixlttest, hciroutetest, etc. (test stage). Then, depending on how things come out, push to production immediately or at a set date time as you would with nightly builds or scheduled updates. You could even apply the changes with the after_script directive in the .gitlab-ci.yml file to do something like hcicmd -p $PROCESS -c ‘$THREAD pstop/pstartt’ to cycle the processes and threads to make the change active.