{"record":{"id":"bcd09b2b4b3c1e14","repo":"sgl-project/sglang","slug":"path-must-not-contain-duplicates","errorCode":null,"errorMessage":"{path} must not contain duplicates","messagePattern":"(.+?) must not contain duplicates","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"critical","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/release_metadata.py","lineNumber":41,"sourceCode":"    \"task\": \"t2va\",\n    \"width\": 1344,\n    \"height\": 768,\n    \"fps\": 24,\n    \"frame_count\": 124,\n    \"num_inference_steps\": 50,\n    \"flow_shift\": 12.0,\n    \"audio_flow_shift\": 3.0,\n}\n\n\ndef _string_list(value: Any, path: str) -> tuple[str, ...]:\n    if not isinstance(value, list) or not value:\n        raise ValueError(f\"{path} must be a non-empty list\")\n    values = tuple(value)\n    if any(not isinstance(item, str) or not item for item in values):\n        raise ValueError(f\"{path} must contain non-empty strings\")\n    if len(set(values)) != len(values):\n        raise ValueError(f\"{path} must not contain duplicates\")\n    return values\n\n\n@dataclass(frozen=True)\nclass MiniMaxH3ReleaseMetadata:\n    schema_version: int\n    partition: str\n    tasks: tuple[str, ...]\n    task_aliases: Mapping[str, str]\n    video_sigma_shift: float\n    audio_sigma_shift: float\n\n    @classmethod\n    def from_model_index(\n        cls, model_index: Mapping[str, Any]\n    ) -> MiniMaxH3ReleaseMetadata:\n        raw = model_index.get(\"_minimax_h3\")\n        if not isinstance(raw, Mapping):","sourceCodeStart":23,"sourceCodeEnd":59,"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#L23-L59","documentation":"_string_list rejects list fields in model_index.json that contain duplicate entries. Duplicate task names would make routing ambiguous, so config load fails closed.","triggerScenarios":"_minimax_h3.tasks (or another validated list) containing the same string twice, e.g. after merging two configs.","commonSituations":"Merging model_index.json files from two releases, or copy-paste duplication while hand editing.","solutions":["De-duplicate the list while preserving one copy of each task","Regenerate model_index.json from official tooling after any merge","Diff against the upstream release file to spot unintended merges"],"exampleFix":"// before\n\"tasks\": [\"ref2v\", \"ref2v\"]\n\n// after\n\"tasks\": [\"ref2v\"]","handlingStrategy":"validation","validationCode":"def no_duplicates(v) -> bool:\n    return isinstance(v, list) and len(set(v)) == len(v)","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Diff merged model_index.json against upstream","De-duplicate task lists after any config merge"],"tags":["minimax-h3","model-index","config-validation","duplicates"],"backgroundTag":"config-schema-validation-failed","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}