feat: Phase 2 complete — muxterm Go binary replaces ttyd

Summary of Phase 2 changes:

Go (muxterm):
- muxterm Go binary with PTY pool, WebSocket server, HMAC token auth
- JSON control protocol (attach/detach/resize/input/output/exited)
- /health endpoint, graceful shutdown on SIGTERM/SIGINT

Python (muxplex):
- GET /api/terminal-token endpoint for muxterm HMAC auth
- Process supervision: start muxterm on boot, restart on crash, stop on shutdown
- Deleted ttyd.py, WS proxy, /connect endpoint, terminal cache

Frontend:
- Single WebSocket connection with JSON control protocol
- ghostty-web replaces xterm.js as terminal renderer
- No terminal cache — muxterm owns the terminal lifecycle
- Deleted xterm.js vendor files

Build verification:
- muxterm binary compiles (go build)
- 1305 Python tests pass
- 18 Go tests pass (17 pass, 1 integration skipped in short mode)
- /health endpoint responds {"status":"ok"}
This commit is contained in:
Ken
2026-05-28 07:19:59 +00:00
parent 316297338b
commit 526c07d4fd

Diff Content Not Available