App snap's interfaces manual management - process under hoood

For snap connect/disconnect commands and inter-snap connections (snapA to snapB):

  1. 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?

yes snapd executes this as root. the snap commands internally will use the snapd REST API, documented here: https://snapcraft.io/docs/snapd-api

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.

yes, it is persistent