{"record":{"id":"005734df4814e728","repo":"sgl-project/sglang","slug":"task-alias-alias-r-targets-undeclared-task-targ","errorCode":null,"errorMessage":"task alias {alias!r} targets undeclared task {target!r}","messagePattern":"task alias (.+?) targets undeclared task (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/release_metadata.py","lineNumber":112,"sourceCode":"            schema_version=1,\n            partition=partition,\n            tasks=tasks,\n            task_aliases=dict(aliases),\n            video_sigma_shift=video_sigma,\n            audio_sigma_shift=audio_sigma,\n        )\n        for task in metadata.tasks:\n            if canonical_minimax_h3_task(task) != task:\n                raise ValueError(\n                    f\"tasks must contain canonical task names, got {task!r}\"\n                )\n            if partition_for_task(task) != partition:\n                raise ValueError(\n                    f\"task {task!r} does not belong to partition {partition!r}\"\n                )\n        for alias, target in metadata.task_aliases.items():\n            if target not in metadata.tasks:\n                raise ValueError(\n                    f\"task alias {alias!r} targets undeclared task {target!r}\"\n                )\n            if canonical_minimax_h3_task(alias) != target:\n                raise ValueError(\n                    f\"unsupported task alias mapping {alias!r} -> {target!r}\"\n                )\n        return metadata\n\n    @property\n    def sigma_shift_scales(self) -> dict[str, float]:\n        return {\"video\": self.video_sigma_shift, \"audio\": self.audio_sigma_shift}\n\n    def canonical_task(self, task: str) -> str:\n        normalized = task.strip().lower()\n        canonical = self.task_aliases.get(normalized, normalized)\n        if canonical not in self.tasks:\n            raise ValueError(\n                f\"task {task!r} is not served by MiniMax H3 partition {self.partition!r}; \"","sourceCodeStart":94,"sourceCodeEnd":130,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/release_metadata.py#L94-L130","documentation":"Every alias in task_aliases must point at a task that is actually declared in this metadata's tasks list. An alias targeting an undeclared task raises this error, because the alias could never resolve at request time.","triggerScenarios":"task_aliases: {\"t2v\": \"text_to_video\"} while tasks only lists \"image_gen\" — the target is not in the declared set.","commonSituations":"Trimming the tasks list without pruning aliases, or adding aliases copied from another partition's metadata.","solutions":["Either add the target task to tasks (if this partition serves it) or delete the stale alias","Keep aliases and tasks in sync by generating both from one source table"],"exampleFix":"// before\n\"tasks\": [\"image_gen\"], \"task_aliases\": {\"t2v\": \"text_to_video\"}\n// after\n\"tasks\": [\"image_gen\", \"text_to_video\"], \"task_aliases\": {\"t2v\": \"text_to_video\"}","handlingStrategy":"validation","validationCode":"assert all(target in tasks for target in aliases.values()), \"alias targets undeclared task\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Regenerate aliases and tasks together","Add a CI check that diffs aliases against tasks"],"tags":["minimax-h3","task-aliases","dangling-reference","model-index"],"backgroundTag":"schema-validation-failed","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}