> Can you hook a full ncurses up to this?
Yup! Any ncurses thing should work great. I couldn't find a golang curses lib that doesn't hardcode to stdout except for crypto/ssh/terminal, but it's fairly limited.
> Going by my input lag, it looks like all keypresses are sent to the server, can you implement readline somehow or can i configure SSH to buffer input locally? Cook terminal mode or something?
I believe that's up to your ssh client. There are things like https://mosh.mit.edu/ which try to mask the latency.
> What's pty.go used for?
For bootstrapping the pty request/response. :)
> If i write a line that's longer than my terminal width, it wraps onto a second line, but new incoming messages obscure the first line
Yea, there's a bug with long line reflow, not sure how to fix it. :(