The documentation mentions that base_settings can be manually edited to modify individual settings. Based on this info, I went ahead and removed things like locales,roles,permissions etc from app_settings and moved them to base_settings.
However, after compilation, I see that the app_settings still contained all the things in base_settings.
Can someone explain the reasoning behind this and if base_settings is a subset of app_settings, then why do we need both files?
The reason to adding base_settings was to make application config more modular (original issue).
When cht-conf detects that base_settings file exists, it will use it, along with the other modular parts (schedules, forms), to compile the app_settings. app_settings becomes “read-only” in this case (it gets uploaded to the server, but its contents will be overwritten with every compile).