_notify_active_sessions_of_shutdown now walks _served_home_channel_configs(), which reads self.config.platforms eagerly instead of only self.adapters, so the __new__-built runner in TestGatewayCleanupWiring raised AttributeError on stop(). GatewayRunner.__init__ always binds config before stop() is reachable, so the runner in the test now mirrors production with an empty GatewayConfig().