loial connects to every aludra host I add, over Tailscale. A conversation runs in a stedding sandbox by default, or directly on the machine, and that’s chosen once when it starts. While it runs I see its plan, approve what needs approving and answer its questions. When it’s done I see the diff, the project’s checks and any page it published, then ship it, turn a scratch sandbox into a new GitHub repo, or archive it.
The Rust side is thin. It holds one WebSocket per host, which has to live in Rust because aludra refuses WebSocket upgrades that carry an Origin header and a webview always sends one. It also handles the tray, notifications and keeping one window open. The protocol client and the app’s state are TypeScript with no UI, tested against wire recordings carried over from amyrlin.
It replaced amyrlin with a narrower scope built around one conversation surface. The end-to-end ship check runs against a real aludra and GitHub. It creates a repo, ships a commit to main in about two and a half minutes and promotes a scratch sandbox to a second repo.
In the Wheel of Time, Loial is an Ogier who leaves his stedding to travel with the others.
