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
Writes
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:
Only the LoRA adapter is trained; the VLA stays frozen throughout.
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.