{"record":{"id":"f4891dda45f5eb2a","repo":"exo-explore/exo","slug":"prefill-decode-disaggregation-is-disabled-set-ena","errorCode":null,"errorMessage":"Prefill/decode disaggregation is disabled. Set ENABLE_DISAGGREGATION=true to enable.","messagePattern":"Prefill/decode disaggregation is disabled\\. Set ENABLE_DISAGGREGATION=true to enable\\.","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"src/exo/api/main.py","lineNumber":229,"sourceCode":"ONBOARDING_COMPLETE_FILE = EXO_CACHE_HOME / \"onboarding_complete\"\n\n\ndef _format_to_content_type(image_format: Literal[\"png\", \"jpeg\", \"webp\"] | None) -> str:\n    return f\"image/{image_format or 'png'}\"\n\n\ndef _ensure_seed(params: AdvancedImageParams | None) -> AdvancedImageParams:\n    \"\"\"Ensure advanced params has a seed set for distributed consistency.\"\"\"\n    if params is None:\n        return AdvancedImageParams(seed=random.randint(0, 2**32 - 1))\n    if params.seed is None:\n        return params.model_copy(update={\"seed\": random.randint(0, 2**32 - 1)})\n    return params\n\n\ndef _require_disaggregation_enabled() -> None:\n    if not ENABLE_DISAGGREGATION:\n        raise HTTPException(\n            status_code=HTTPStatus.NOT_FOUND,\n            detail=(\n                \"Prefill/decode disaggregation is disabled. \"\n                \"Set ENABLE_DISAGGREGATION=true to enable.\"\n            ),\n        )\n\n\nclass API:\n    def __init__(\n        self,\n        node_id: NodeId,\n        *,\n        port: int,\n        event_receiver: Receiver[IndexedEvent],\n        command_sender: Sender[ForwarderCommand],\n        download_command_sender: Sender[ForwarderDownloadCommand],\n        # This lets us pause the API if an election is running","sourceCodeStart":211,"sourceCodeEnd":247,"githubUrl":"https://github.com/exo-explore/exo/blob/21a54c5ea0230a3bec1e1a786d200126c7e34ec6/src/exo/api/main.py#L211-L247","documentation":"Error \"Prefill/decode disaggregation is disabled. Set ENABLE_DISAGGREGATION=true to enable.\" thrown in exo-explore/exo.","triggerScenarios":"Thrown at src/exo/api/main.py:229 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"}