v3/docs/adr/ADR-307-proxy-runtime-packaging-lifecycle.md
ADR-304 defines what the local Meta LLM proxy is; nothing defines the deployable runtime — language, packaging, bind semantics, service management, or update path. Those decisions determine the security surface of a long-running local process and must precede implementation.
127.0.0.1:11435. Loopback only. External bind requires explicit configuration (proxy.bind in config or RUFLO_PROXY_BIND) and prints a warning at startup.ruflo proxy start runs attached; managed service install is a separate, explicit step.~/.ruflo/proxy-token, 0600) on every request.| Platform | Managed mode |
|---|---|
| macOS | launchd user agent (never a system daemon) |
| Linux | systemd user service |
| Windows | per-user background process, or Windows service for enterprise deployments |
| Containers | foreground process only; no service install inside containers |
ruflo proxy install # fetch + verify binary, write config, generate local token
ruflo proxy start # foreground by default; --service to use the managed unit
ruflo proxy stop
ruflo proxy status # includes data plane per ADR-304: local vs cloud:<provider>
ruflo proxy logs
ruflo proxy update # explicit only — the proxy never self-updates
ruflo proxy uninstall # removes binary, service unit, token, and consent receipt
proxy install downloads a platform artifact from the official release channel, verifies checksum + Ed25519 signature before writing to disk, and refuses on any mismatch.proxy update repeats the same verification. There is no auto-update path; the statusline may suggest an update (educational message class, ADR-301), but only the explicit command applies one./status response; incompatibility degrades to a clear error, never undefined behavior."Local proxy" means the proxy process is local. It does not imply inference is local.
Every cloud-bound request path exposes routing before first use (per ADR-304's disclosure gate):
This request may send prompt content to api.cognitum.one
and the selected provider.
Default state after install is local-only routing; cloud routing activates only through the ADR-304 disclosure flow backed by the ADR-302 cloud-routing consent receipt and the ADR-306 cloud.route scope.
ruflo doctor --component proxy checks: binary signature, version compatibility, bind address, token file permissions, service unit state.