vla.json:
a model and an action library. The GRD loop then adapts only the
model’s LoRA adapter — the VLA itself stays frozen — in a single governed pass
that mixes imitation and RL.
env vla init: scaffold a model + action library
| Flag | Default | Purpose |
|---|---|---|
--robot <name> | go1 | Robot whose action library to attach. |
--model default|smolvla|hf|local | default | Which backbone to adapt. default uses the built-in stable encoder; the others load a real VLA. |
--model-id <repo|path> | — | HF repo id (hf) or local path (local/smolvla). |
--force | off | Overwrite an existing vla.json. |
reach-arm/vla.json. Inspect it any time with env vla show reach-arm.
env vla data: author goal→action pairs
GRD’s imitation signal comes from goal→action examples you author against the
model’s action library.
env vla grd: the governed GRD loop
GRD = Govern · Refine · Decide. In one loop it fine-tunes the LoRA adapter on
your goal→action data (imitation) and RL-tunes it, then asks the Cadenza API for a
verdict. The API steers the loop — it sets three dials and returns
DEPLOY | BLOCK | NEEDS_DATA:
| Dial | What it controls |
|---|---|
--lambda <l> | The imitation ↔ RL mix. |
--rl-budget <n> | How much RL the round is allowed. |
--change-cap <c> | How far the adapter may move from the frozen base in one round. |
| Flag | Default | Purpose |
|---|---|---|
--lambda <l> | API-steered | Imitation/RL mix (the API overrides per round). |
--rl-budget <n> | API-steered | RL budget per round. |
--change-cap <c> | API-steered | Per-round adapter change cap. |
--rounds <r> | — | Max GRD rounds before stopping. |
--device <d> | auto | Training device. |
env vla eval: one-shot governance
Score the current adapter without running a full loop:
DEPLOY | BLOCK | NEEDS_DATA verdict (see
Governance); --promote deploys the adapter if it passes.
Full loop
VLA mode and the LoRA action head both fine-tune a LoRA
adapter, but they are different entry points:
env lora adapts the action head
inside a full env.json mission, while env vla adapts a standalone model
with no mission spec — just a model and an action library.