Most/Docs

Run the control plane

The documented pre-release path is a safe maintainer checkout: it starts the real HTTP server with no storage and no transport, contacts no provider, and sends no message. Production onboarding waits for an immutable release.

Safe local first success#

Prerequisites: macOS or Linux; `git`, `make`, and `curl`; the Rust toolchain version pinned by the `Dockerfile` builder image; access to the private wisent-ai/most repository; local port 8080 available. No local onboarding path requires production credentials.

Terminal 1
git clone https://github.com/wisent-ai/most.git
cd most
AUTH_BYPASS=1 MOST_COMPOSITION=none make run-dev
# expected log: most-server listening

Observe the result#

In `none` composition, messaging mutation routes have no executable transport and return a capability error rather than contacting a provider. Do not interpret liveness as message-delivery readiness. Stopping with Ctrl-C leaves no background service and no Most database or provider resource.

Terminal 2
curl --fail --silent http://127.0.0.1:8080/healthz
# expected fields:
# { "status": "ok", "version": "0.1.0",
#   "source_revision": "unknown",
#   "backends": "none", "composition": "none" }

Configuration and state#

  • Configuration comes from process environment and finite Skarbiec capability IDs; `.env.example` documents inputs. Unknown compositions are invalid and must be corrected, never silently downgraded.
  • PostgreSQL is required by the `prod` composition; migrations live in `migrations/` and are applied by `most-migrate` under one owner.
  • Runtime code receives scoped capability handles, not committed secret values. API, database, attachment-signing, remote-worker, Twilio/Stado, and Apple-identity credentials are separate contracts.
  • The native default bind is `127.0.0.1:8080`; the container binds `0.0.0.0:8080` and requires deployment-owned network controls.
  • Optional integration startup failures degrade that integration; authoritative-storage failure prevents production startup.
  • Deployment supplies `PUBLIC_BASE_URL`, network placement, storage, and capability identifiers. Production topology, credentials, provider accounts, DNS, and database projects stay outside the repository.

Observability and release discipline#

`/healthz` exposes version, source revision, composition, and registered backends; structured logs record routing and dependency classifications without secret material.

Upgrades and rollbacks follow RELEASE.md; schema changes require explicit forward, recovery, and rollback analysis. Once a release exists, production uses the immutable artifact and digest — never `main`, a moving image tag, or an uncommitted checkout.