{"record":{"id":"8df20c99e872df98","repo":"exo-explore/exo","slug":"failed-to-load-model-card-exc","errorCode":null,"errorMessage":"Failed to load model card: {exc}","messagePattern":"Failed to load model card: (.+?)","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"src/exo/api/main.py","lineNumber":524,"sourceCode":"\n        return placements[new_ids[0]]\n\n    async def get_placement_previews(\n        self,\n        model_id: ModelId,\n        node_ids: Annotated[list[NodeId] | None, Query()] = None,\n    ) -> PlacementPreviewResponse:\n        seen: set[tuple[ModelId, Sharding, InstanceMeta, int]] = set()\n        previews: list[PlacementPreview] = []\n        required_nodes = set(node_ids) if node_ids else None\n\n        if len(list(self.state.topology.list_nodes())) == 0:\n            return PlacementPreviewResponse(previews=[])\n\n        try:\n            model_card = await ModelCard.load(model_id)\n        except Exception as exc:\n            raise HTTPException(\n                status_code=400, detail=f\"Failed to load model card: {exc}\"\n            ) from exc\n        instance_combinations: list[tuple[Sharding, InstanceMeta, int]] = []\n        for sharding in (Sharding.Pipeline, Sharding.Tensor):\n            for instance_meta in (InstanceMeta.MlxRing, InstanceMeta.MlxJaccl):\n                instance_combinations.extend(\n                    [\n                        (sharding, instance_meta, i)\n                        for i in range(\n                            1, len(list(self.state.topology.list_nodes())) + 1\n                        )\n                    ]\n                )\n        # TODO: PDD\n        # instance_combinations.append((Sharding.PrefillDecodeDisaggregation, InstanceMeta.MlxRing, 1))\n\n        for sharding, instance_meta, min_nodes in instance_combinations:\n            try:","sourceCodeStart":506,"sourceCodeEnd":542,"githubUrl":"https://github.com/exo-explore/exo/blob/21a54c5ea0230a3bec1e1a786d200126c7e34ec6/src/exo/api/main.py#L506-L542","documentation":"Error \"Failed to load model card: {exc}\" thrown in exo-explore/exo.","triggerScenarios":"Thrown at src/exo/api/main.py:524 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"21a54c5ea0230a3bec1e1a786d200126c7e34ec6","analyzedAt":"2026-08-26T00:02:16.033Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}