Rainier v0.0.2
The hosted composition kit: the last pieces a hosted regional cell needs from the OSS beyond control/controlapp, published as public packages that self-hosted controld composes exactly as a cell will.
New public packages (import github.com/tokencanopy/rainier@v0.0.2, no replace needed)
runnerplane— the runner WebSocket endpoint, connection registry, dispatch and session-RPC correlation, generation mint and heartbeat fence, capability acceptance and theaccept, event translation, reconciliation. A host supplies seven methods: identity, generation, the fleet service and repository, the scheduler wake, and hooks for the events that transition nothing and for a sandbox's upward request.attachplane— the terminal attach handshake: dial-back pairing, the splice, the WebSocket terminal stream. A host supplies three methods.v0wire— the/v0/JSON views, envelopes, request bodies, validators, and the closed sentinel-to-status table, so onerainierCLI sees one wire from either host.
CLI
rainier login --cloud <edge>runs the hosted passwordless login (start an attempt, open the browser link, poll the exchange) and stores a named context;rainier context list|use|current|remove,rainier workspace use. A legacy single-server config migrates on first read. Hosted requests carryRainier-Workspaceand refresh an expired access token once, transparently.
Fixes
connectRunnerasks the fleet service before installing a reconnecting socket, so a refused reconnect can no longer close the accepted connection (#36, by @AmirF194).
The self-hosted /v0/ wire, the runner protocol (still version 1), and the schema (migrations 0001–0009) are unchanged from v0.0.1.