Skip to main content
This quickstart gets a developer clone to a running local API and dashboard. It does not require a real worker machine.

1. Install dependencies and run tests

2. Create a local config

Copy the printed token. The dashboard, control API, and worker callback path all expect it as a bearer token when the control plane receives callbacks at /control/api/worker-callback.

3. Start the API

Open http://127.0.0.1:8787/control/dashboard. If you use the shorter /dashboard URL, it redirects to the same operator shell. The dashboard opens as a professional operator console. It leads with attention, running work, paper-writing, finalization, and publish/import cards instead of raw JSON.

4. Run smoke tests

In a second shell:
Expected result: health, bounded overview, preflight, and dispatch dry-run endpoints respond with JSON. The smoke uses /control/api/v1/overview by default so large live ledgers do not make the check noisy. Set ENOCH_STATUS_ENDPOINT=/control/api/status only when you intentionally need the wider compatibility payload. For a control-plane-only smoke where worker preflight is covered separately, set ENOCH_SMOKE_SKIP_PREFLIGHT=1. The script calls GET /healthz, GET /control/api/v1/overview, POST /control/api/preflight, and POST /control/dispatch-next with dry_run: true.

5. Move to two-machine testing

After local smoke tests pass, follow deployment to configure a control VM and a worker machine.