{"record":{"id":"c66ff06c7c2184cf","repo":"tinyhumansai/openhuman","slug":"model-route-with-empty-hint","errorCode":null,"errorMessage":"model route with empty hint","messagePattern":"model route with empty hint","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":264,"sourceCode":"            format!(\n                \"temperature {:.1} is out of range (expected 0.0-2.0)\",\n                config.default_temperature\n            ),\n        ));\n    }\n\n    // Reliability: fallback providers (legacy; ignored at runtime)\n    if !config.reliability.fallback_providers.is_empty() {\n        items.push(DiagnosticItem::warn(\n            cat,\n            \"reliability.fallback_providers is set but ignored (single backend)\",\n        ));\n    }\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!(","sourceCodeStart":246,"sourceCodeEnd":282,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L246-L282","documentation":"Doctor warning from the model_routes loop: an [[model_routes]] entry exists whose `hint` field is empty or unset. The hint is the routing key that model selection uses to resolve a route, so an empty hint makes the entry unreachable — it silently matches nothing and any provider/model override it carries is dead config.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:264 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set a unique non-empty `hint` on the [[model_routes]] entry in config.toml","Check for a typo such as `hits` or a misplaced table header that left hint unset","Remove the entry if it was left over from experimentation"],"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-14T05:17:10.506Z"}