{"record":{"id":"654d7d30c0e61107","repo":"tinyhumansai/openhuman","slug":"runtime-python-disabled-cannot-provision-kompres","errorCode":null,"errorMessage":"runtime_python disabled — cannot provision Kompress","messagePattern":"runtime_python disabled — cannot provision Kompress","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/runtime/python_server/kompress.rs","lineNumber":106,"sourceCode":"            } else {\n                '_'\n            }\n        })\n        .collect();\n    venv_dir.join(format!(\".openhuman-kompress-ready-{safe_model}\"))\n}\n\n/// Cheap, network-free probe: are torch + transformers + the model provisioned?\npub fn kompress_provisioned(config: &Config) -> bool {\n    let venv = kompress_venv_dir(config);\n    marker_path(&venv, &config.tokenjuice.ml_model_id).exists() && venv_python_path(&venv).exists()\n}\n\n/// Ensure a dedicated Kompress venv exists (torch + transformers + model).\npub async fn ensure_kompress(config: &Config) -> Result<KompressRuntime> {\n    let _guard = provision_lock().await.lock().await;\n    if !config.runtime_python.enabled {\n        bail!(\"runtime_python disabled — cannot provision Kompress\");\n    }\n    if !config.tokenjuice.ml_compression_enabled {\n        bail!(\"tokenjuice.ml_compression_enabled is false\");\n    }\n\n    let venv_dir = kompress_venv_dir(config);\n    let venv_python = venv_python_path(&venv_dir);\n    let hf = hf_home(config);\n\n    if marker_path(&venv_dir, &config.tokenjuice.ml_model_id).exists() && venv_python.exists() {\n        return Ok(KompressRuntime {\n            python_bin: venv_python,\n            hf_home: hf,\n        });\n    }\n\n    tokio::fs::create_dir_all(&hf)\n        .await","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/runtime/python_server/kompress.rs#L88-L124","documentation":"ensure_kompress's precondition check found runtime_python.enabled = false: the Kompress venv cannot be provisioned because no base Python interpreter is available. A config gate reached before any provisioning work starts.","triggerScenarios":"Thrown at src/openhuman/runtime/python_server/kompress.rs:106 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Enable runtime_python in config to allow provisioning","Disable tokenjuice.ml_compression_enabled if ML compression is not needed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}