First immediate issue I see is that we don't have a common definition for "component" in the context of Integrant. The README only alludes to the idea in the read-namespaces doc. All other uses point to the eponymous library. Integrant operates at the "config" level. Might be a component - doesn't have to be.
I understand such an Integrant "component" to be some set of Integrant keywords - let's call that an ig/key. An ig/key exists is a key in a configuration map, and init-key is provided for this keyword (optionally, more methods, as you well know). In my project, I call such sets of Integrant keywords "subsystems" and they are defined by .. a subsystem function that returns a subsystem map. These subsystem maps are (merge ...'d together to form a "system" map. As it happens, in my case and maybe in yours, all keys of a given subsystem are namespaced keywords that share a namespace - so maybe that's a connected, somewhat equivalent definition of an Integrant component. All of this is in line with