For snap connect/disconnect commands and inter-snap connections (snapA to snapB):
is snapd the executor of these requests? Rather some other component of overall snaps architecture?
If for app snap with interface A enabled automatically user disables that interface using snap disconnect <name-of-snap-consuming-external-resource-provided-by-other-snap>:<plug-name>
2. where is this change stored to?
3. Will this change persist host reboot?
snapd stores this in it’s internal state file, /var/lib/snapd/state.json. Note that the format of this file could change at any time so you should not ever modify this file yourself, otherwise you may be subject to breaking all the snaps on your system.