ba40391e69
The remote step used to list registry counts — three cloud targets, two chat bridges, twelve providers — which told the user what Codewhale knows about rather than what they can do. It now answers one question in four plain rows: local-only, runtime API, phone on your network, chat app; each carrying its own observed status. Every status comes from a fact this process can actually observe: whether a credential *name* is set in the environment, that the shipped runtime unit binds loopback, and what the bridge registry declares. Secret values are never read and never rendered — only variable names and presence. A LAN bind with no token is the one case that asks for action, because it is reachable *and* unauthenticated. Missing configuration records NeedsAction, which by contract never blocks the ready screen, so a user who wants none of this leaves in one key. The R preview still renders through the same remote_setup::bundle planning contract the CLI uses, fully in memory with every secret replaced by <redacted>: nothing is written, applied, or provisioned. The registry counts stay reachable in that preview; the card no longer leads with them.