>Command line interfaces are superior even today because the step from interaction to automation is as minimal as possible.
Agreed completely. In fact, the OS should force GUI programs to all speak a coherent language so that you can automate them and pipe data between them. And if the machine is going to serve the user, the user should be in control of the GUI, they should be able to move buttons and UI elements around into the configuration they prefer. This would only be possible if GUI programs had minimal control over actual UI layout, which would make webdevs angry. But given the state of web UI, I think that's an acceptable sacrifice.
Much of the above was possible in lisp machines. But sadly I don't think it would be possible to create such an OS today (unless the "OS" is running in a linux VM and using linux for the actual hardware interface) due to the sheer diversity of hardware. And the closed source nvidia driver would ensure that you never got cool graphics.
That is to say, a large part of what makes the automation capabilities of most terminal applications so strong is specifically that the idea of character streams over raw binary streams being the default.
Can I dream of a lisp machine that lets me do what you are suggesting? I mean, sorta. Early HTML based apps came pretty close on this, but folks regularly refuse to limit themselves to a base set of constructs. Is why it would be easy to user style HN, but basically impossible to do the same to gmail. (gmail, amusingly, created their own theme capabilities...)