{"record":{"id":"a1d0a4e0a96316bd","repo":"tinyhumansai/openhuman","slug":"embedding-route-uses-invalid-provider","errorCode":null,"errorMessage":"embedding route \"{}\" uses invalid provider \"{}\": {}","messagePattern":"embedding route \"(.+?)\" uses invalid provider \"(.+?)\": (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":280,"sourceCode":"    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(\n                cat,\n                format!(\n                    \"embedding route \\\"{}\\\" has invalid dimensions=0\",","sourceCodeStart":262,"sourceCodeEnd":298,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L262-L298","documentation":"Doctor diagnostic: an entry in config.embedding_routes names a provider that fails validation (unknown provider id or malformed value for its route.provider). The route is reported as a warning because an invalid embedding provider means embeddings for that hint will fail or fall back at runtime — e.g. memory ingestion and similarity search degrade.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:280 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run 'openhuman doctor' to list all embedding route warnings together","Check config.toml [embedding_routes] entries — correct the provider field to a supported provider id (or remove the route to use the default)","Run 'openhuman config get' (curated view) to inspect effective routes without exposing secrets","Re-run doctor after the fix to confirm the warning clears"],"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"}