{"record":{"id":"bcbc99e464ee7434","repo":"sgl-project/sglang","slug":"action-mode-is-set-but-the-loaded-cosmos3-checkpoi","errorCode":null,"errorMessage":"action_mode is set but the loaded Cosmos3 checkpoint has no action modality (action_gen is False).","messagePattern":"action_mode is set but the loaded Cosmos3 checkpoint has no action modality \\(action_gen is False\\)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/cosmos3.py","lineNumber":616,"sourceCode":"        if sound_duration > 0.0:\n            if not getattr(self.transformer, \"sound_gen\", False):\n                raise ValueError(\n                    \"sound generation was requested (sound_duration > 0) but the \"\n                    \"loaded Cosmos3 checkpoint has no sound modality (sound_gen is \"\n                    \"False).\"\n                )\n            sound_latent_fps = self.transformer.sound_latent_fps\n            sound_latent_frames = max(1, round(sound_duration * sound_latent_fps))\n            sound_shape = (1, self.transformer.sound_dim, sound_latent_frames)\n            batch.audio_latents = torch.randn(\n                sound_shape, generator=generator, device=device, dtype=dtype\n            )\n            self.log_info(f\"Prepared sound latents with shape {sound_shape}\")\n\n        action_mode = getattr(batch.sampling_params, \"action_mode\", None)\n        if action_mode is not None:\n            if getattr(self.transformer, \"action_dim\", None) is None:\n                raise ValueError(\n                    \"action_mode is set but the loaded Cosmos3 checkpoint has no \"\n                    \"action modality (action_gen is False).\"\n                )\n            self._prepare_action_latents(batch, generator, device, dtype)\n        return batch\n\n    def component_uses(\n        self, server_args: ServerArgs, stage_name: str | None = None\n    ) -> list[ComponentUse]:\n        return [ComponentUse(self._component_stage_name(stage_name), \"vae\")]\n\n    @staticmethod\n    def _resolve_domain_id(batch: Req) -> int:\n        \"\"\"Resolve action embodiment domain ID; required for action generation.\"\"\"\n        domain_id = getattr(batch.sampling_params, \"domain_id\", None)\n        if domain_id is not None:\n            domain_id = int(domain_id)\n            if domain_id < 0:","sourceCodeStart":598,"sourceCodeEnd":634,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/cosmos3.py#L598-L634","documentation":"The request enables action generation via sampling_params.action_mode, but the loaded transformer has action_dim=None, i.e. the checkpoint lacks the action head. Action latents cannot be prepared without it, so the request is rejected.","triggerScenarios":"Setting action_mode (e.g. 'policy' or 'forward_dynamics') on a checkpoint whose transformer.action_dim attribute is None (non-action Cosmos3 variant).","commonSituations":"Mixing robotics/action workflows with a plain video-generation checkpoint; assuming all Cosmos3 builds include action heads.","solutions":["Remove action_mode from sampling params for non-action checkpoints","Load an action-capable Cosmos3 checkpoint (action_dim is set)","Check transformer.action_dim after load and gate action features on it"],"exampleFix":"# before\nsp.action_mode = 'policy'  # checkpoint has no action head\n\n# after\ndel sp.action_mode  # or load action-capable checkpoint","handlingStrategy":"type-guard","validationCode":"if sp.action_mode is not None and getattr(model.transformer, 'action_dim', None) is None:\n    sp.action_mode = None  # checkpoint cannot do actions","typeGuard":"def checkpoint_supports_action(transformer) -> bool:\n    return getattr(transformer, 'action_dim', None) is not None","tryCatchPattern":null,"preventionTips":["Gate action features on transformer.action_dim at load time","Advertise only supported modalities in your API surface"],"tags":["cosmos3","action-generation","checkpoint-capability","validation"],"backgroundTag":"unsupported-model-capability","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}