Skip to main content

Where the model lives

The model lives on whatever machine you trust to hold the data. WorldFlux watches the run from the side, picks up the manifest, and uploads it. That is the whole boundary.
SourceWhat you doWhat WorldFlux sees
Local scriptworldflux init, drop your code into run.py, worldflux run.Manifest, metrics, logs, committed artifacts.
Experimental runtime wrapperUse only when the installed wrapper and adapter metadata say the path is supported for your run.Whatever the wrapper returns in RuntimeResult; unsupported wrappers should be treated as local experiments, not hosted WorldFlux compute.
External modelworldflux import lerobot:<model_id> to pull it into the catalog.The imported adapter shows up in worldflux curated list.
External datasetworldflux import lerobot-dataset:<id> to download.The dataset id is referenced from the recipe.
Runs that reach Cloud use the same manifest shape. The dashboard reads the manifest and evidence package; production support for remote execution is determined by the adapter’s support metadata, not by the presence of an installed wrapper.

Data boundary

Three rules:
  1. The CLI uploads manifest fields, metric numbers, log lines, and any artifact paths the recipe marks commit. Nothing else.
  2. Secrets stay outside the manifest. The CLI keyring (or ~/.worldflux/credentials.toml with --allow-plaintext) holds the API key. The audit payload never carries it.
  3. API keys travel as Authorization: Bearer wfx_… headers, scoped to one workspace, expirable.
If a recipe writes a secret into a log line, the CLI does not strip it. That is yours to handle.

Pre-flight

Before the first sync:
worldflux doctor              # Python, uv, runtime plugins, cloud session
worldflux runtime doctor      # per-plugin diagnostics (modal, aws-ec2, replicate)
worldflux curated inspect <adapter>   # check VRAM floor + known issues
The doctor commands print one line per check. Lines starting with error: block runs.

Pass --json from CI

worldflux --json status
worldflux --json runs list --project demo-box
worldflux --json sync --project demo-box
The human-readable format is not stable across versions. The JSON envelope is.

What changes when you sync

Nothing on disk. The CLI POSTs to FastAPI and exits. The next time the dashboard loads, the run shows up in the workspace’s runs table. Failed uploads leave the local manifest untouched and worldflux sync re-tries from the same client_run_id.