world_model:
  name: "cosmos_predict2.5"
  model_id: "nvidia/Cosmos-Predict2.5-2B"       # base pre-train checkpoint
  stub: false
  context_frames: 8
  latent_dim: 512
  image_size: [224, 224]
  device: "cuda"
  dtype: "bfloat16"                             # ~4 GB VRAM at bfloat16

policy:
  name: "cosmos_policy"
  # Fine-tuned on simulated environments — closest to MuJoCo.
  # For the 21-DoF humanoid you must fine-tune the action head:
  #   src: nvidia/Cosmos-Policy-LIBERO-Predict2-2B (7-DoF, sim)
  #   tgt: fine-tune on humanoid demonstrations, same backbone
  # Other options: Cosmos-Policy-RoboCasa-Predict2-2B (7-DoF sim)
  #                Cosmos-Policy-ALOHA-Predict2-2B   (14-DoF bimanual, real)
  model_id: "nvidia/Cosmos-Policy-LIBERO-Predict2-2B"
  stub: false
  action_chunk_len: 10                          # steps consumed per inference (model outputs 50)
  action_dim: 21                                # humanoid DoF (model native: 7; needs fine-tuning)
  latent_dim: 512
  device: "cuda"
  dtype: "bfloat16"                             # ~4 GB VRAM

language:
  name: "openvla"
  model_id: "openvla/openvla-7b"
  stub: false
  embedding_dim: 512
  # RTX 4060 (8 GB) VRAM budget:
  #   Cosmos-Policy-2B (bfloat16)  ~4 GB
  #   OpenVLA-7B       (bfloat16) ~14 GB  ← won't fit alongside policy
  #   OpenVLA-7B       (int4)      ~4 GB  ← fits, set dtype: "int4" + pip install bitsandbytes
  #
  # enabled: false   — policy receives the task text directly; no VLA embedding
  # enabled: true    — requires either int4 quantization or running without policy in VRAM
  enabled: false
  device: "cuda"
  dtype: "bfloat16"                             # change to "int4" for 4-bit (pip install bitsandbytes)

diffusion_planner:
  stub: true                                    # false → load ckpt_path checkpoint
  # ckpt_path: "checkpoints/diffusion_policy.pt"
  action_dim: 21                                # must match policy.action_dim
  horizon: 30                                   # planned waypoints per inference
  ddim_steps: 20                                # DDIM denoising steps (stub)
  proprio_dim: 21                               # proprioception vector size
  device: "cuda"

brain:
  think_freq: 5                                 # Hz — policy inference rate
  context_window: 8                             # frames fed to world model
  default_task: "maintain stable standing posture"
  action_noise_stub: 0.01
