Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.worldflux.ai/llms.txt

Use this file to discover all available pages before exploring further.

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.
Vendor runtimePass --runtime replicate (or aws-ec2, modal).Whatever the runtime plugin returns in RuntimeResult.
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.
The four runtime plugins (local, modal, aws-ec2, replicate) all produce the same manifest shape. The dashboard does not care which plugin produced the run.

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 wbx_… 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.