Appearance
Host vs HiveCast cloud
hivecast is overloaded vocabulary. It is:
- The CLI wrapper binary (
projects/matrix-3/packages/hivecast/bin/hivecast.mjs) that ships a Host install + bundled NATS + default runtimes to operators. - The public service at
https://hivecast.ai, which runs its own Runtime Hosts and additionally provides Google/GitHub OIDC, public Space pairing endpoints, and a public address registry.
These are different things. The wrapper runs the same Host code locally that the public service runs in its data center. A local Host does not need HiveCast cloud to function.
What HiveCast cloud adds
A purely local Host:
- Owns one local NATS bus.
- Runs the default runtimes (system, host-control, gateway, web, edge, director, chat, inference-settings, flowpad, smithers — see
hivecast.mjs:28-39). - Serves
http://127.0.0.1:3100/apps/edge/to a single local browser. - Identity:
installId. NohostId, nodeviceSlug.
A Device-linked Host adds:
- A
hostIdanddeviceSlugissued by the cloud during pairing. - An
authorityRootfrom the linked principal/Space. - Heartbeats posted to
<cloudUrl>/_auth/host-link/heartbeatover HTTPS, in addition to the localsystem.devicesheartbeat (seeHostControlActor.postCloudDeviceHeartbeatathost-control/src/HostControlActor.ts:463-498). - The cloud projects this Host onto its public Space registry; the local Host's runtimes become discoverable from cloud surfaces under that authority.
The cloud does not:
- Run user actors. Inference, Codex, chat history, project files all stay on the linked Host. The cloud only routes.
- Hold inference credentials. Factotum on the local Host owns those.
- Mirror local NATS. The Host's bus is local.
Where the boundary is enforced
The repo CLAUDE.md Rule 6 is the authoritative split:
| Flow | WHERE | WHY |
|---|---|---|
| Google/GitHub OIDC | HiveCast cloud | Registered redirect URIs |
| Anthropic/Codex OAuth | Local Host / Factotum | Localhost redirect, credentials stay local |
| Domain verification | HiveCast cloud | DNS TXT check |
| Inference API calls | Local runtime through Factotum-owned credentials | Tokens are local |
If a code path tries to run inference through cloud-held credentials, that code path is broken; the cloud must not see them.
Two-Runtime Dev Topology
For self-contained dev, one machine can play both roles without touching hivecast.ai. matrix-web plays the platform-shell role, matrix-edge plays the Device-shell role, and they share one Host's local NATS. See the repo CLAUDE.md § "Two-Runtime Dev Topology" for the recipe.