serviceStayAliveDecision
fun serviceStayAliveDecision(address: String?, hasActiveRadioOperation: Boolean): ServiceStayAliveDecision(source)
Decides whether the mesh service keeps running once the address flow has settled.
Pure and platform-agnostic so the gate is unit-testable without standing up a Service, in the same shape as bootReconnectDecision.
Deliberately not consulted by the service's other two teardown paths. A held operation must not keep alive a service that failed dependency injection or could not enter the foreground — in the latter case ActivityManager has already armed the pending-start watchdog, and refusing to stop would turn a recoverable refusal into a process kill.