# Space runtime observations
- `/app/system/instances/get` returns `mhome.system.instances.v1`: the selected
Space's persisted Hub and active Node bindings, including disconnected instances.
- `/app/system/clients/get` returns the selected Space's client sessions.
- `/app/system/hosts/get` returns `mhome.system.hosts.v1`: Hub-vantage Host
discovery from the current Hub's host, plus signed `/info` for each reachable
Host. The Hub holds a Client key for the current Space member and enrolls it
on each Host.
- `/app/system/hosts/runtime` returns `mhome.system.hosts.runtime.v1`: the same
Host inspect, metrics, plan, start, operation and restart actions as the
native Client `host.runtime` contract. The Hub uses that member's Hub-held
Client; the Host still authorizes the user.
- `/app/system/hosts/claim` returns `mhome.system.hosts.claim.v1`: first-claim
an unused LAN Host for the current Space member. The Hub must reach the Host
on LAN, then the cloud binds that **user**, not Hub identity. Native Client
`host.claim` remains the same-machine path for any signed-in user. Claimed
Hosts stay on signed HTTP+auth. Unclaimed Hosts stay discoverable;
`claimable` is true when the Host ACL is empty. Signed `/info` failures stay
on `info.errorCode` (`unauthorized`, `enrollmentRequired`, `unreachable`,
`identityMismatch`).
One-click uses empty ACL; cloud refusal is an error after the click, not a
separate UI state.
- Inventory takes empty input. Runtime takes the native Host management request
(`hostId` plus `action`). Claim takes `{ hostId, claimToken? }`; the first claim of a Host provisioned
over BLE needs the `claimToken` from that provisioning session. All require Space
membership and run on the Space Hub with cloud relay permitted. They are only
available for a local Space with a connected Hub. Host discovery does not
filter Space instances.
Native Client `host.list` / `host.claim` / `host.runtime` remain for machines
that are not on a local Space Hub path. Retired `/app/system/host/*` targets
stay removed.