Strangely enough in command line interfaces this works perfectly, so maybe we need just a more speech friendly way to call commands?
And why you’d need the cloud is beyond me. A speech assistent that fails once you don’t have a internet connection is not only annoying, in some cases it could become outright dangerous.
The reason everything currently runs "in the cloud" is very simple; it binds you to the vendor and prevents anyone from reverse-engineering the software in any sort of usable form. It's essentially DRM gone wild.
Instead we have companies shuffling data back to their servers attempting (and usually failing in my experience) to handle arbitrary commands mostly for the company's benefit
Google Assistant DID figure out which case should lead to which actions. It knew that it was supposed to call home.
Instead of performing the action, it refused to perform the action and demanded that I use my hands to unlock the phone in precisely the situation where doing so was both illegal and dangerous.
You're right about the spurious cloud connection requirement. There is no way that we need to make a cloud connection for this or many other functions, yet it seems to be the default architecture for almost everyone these days. Just because you can does not mean you should.
You don't even need general purpose speech recognition to call someone on your mobile, just enough to recognize a trigger sound and the name of the person you want to call. This is how I could use voice recognition on my Nokia N73 to call anyone in my address book.