{"record":{"id":"1370f4a743f04672","repo":"tinyhumansai/openhuman","slug":"embedding-route-with-empty-hint","errorCode":null,"errorMessage":"embedding route with empty hint","messagePattern":"embedding route with empty hint","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":277,"sourceCode":"    }\n\n    // Model routes validation\n    for route in &config.model_routes {\n        if route.hint.is_empty() {\n            items.push(DiagnosticItem::warn(cat, \"model route with empty hint\"));\n        }\n        if route.model.is_empty() {\n            items.push(DiagnosticItem::warn(\n                cat,\n                format!(\"model route \\\"{}\\\" has empty model\", route.hint),\n            ));\n        }\n    }\n\n    // Embedding routes validation\n    for route in &config.embedding_routes {\n        if route.hint.trim().is_empty() {\n            items.push(DiagnosticItem::warn(cat, \"embedding route with empty hint\"));\n        }\n        if let Some(reason) = embedding_provider_validation_error(&route.provider) {\n            items.push(DiagnosticItem::warn(\n                cat,\n                format!(\n                    \"embedding route \\\"{}\\\" uses invalid provider \\\"{}\\\": {}\",\n                    route.hint, route.provider, reason\n                ),\n            ));\n        }\n        if route.model.trim().is_empty() {\n            items.push(DiagnosticItem::warn(\n                cat,\n                format!(\"embedding route \\\"{}\\\" has empty model\", route.hint),\n            ));\n        }\n        if route.dimensions.is_some_and(|value| value == 0) {\n            items.push(DiagnosticItem::warn(","sourceCodeStart":259,"sourceCodeEnd":295,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L259-L295","documentation":"Doctor warning from the embedding_routes loop: an [[embedding_routes]] entry has an empty (or whitespace-only, since it is trimmed) `hint`. The hint is the key `hint:`-prefixed memory.embedding_model values resolve against, so the entry can never be selected and its provider/model settings are inert.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:277 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Give the [[embedding_routes]] entry a unique non-empty `hint` in config.toml","If memory.embedding_model references it via \"hint:<name>\", make the strings match exactly","Remove dead entries"],"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"}