{"record":{"id":"2be198d1d1bd70a2","repo":"tinyhumansai/openhuman","slug":"reliability-fallback-providers-is-set-but-ignored","errorCode":null,"errorMessage":"reliability.fallback_providers is set but ignored (single backend)","messagePattern":"reliability\\.fallback_providers is set but ignored \\(single backend\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":255,"sourceCode":"            cat,\n            format!(\n                \"temperature {:.1} (valid range 0.0-2.0)\",\n                config.default_temperature\n            ),\n        ));\n    } else {\n        items.push(DiagnosticItem::error(\n            cat,\n            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","sourceCodeStart":237,"sourceCodeEnd":273,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L237-L273","documentation":"Doctor warning emitted when the legacy [reliability].fallback_providers config array is non-empty. That setting predates the single-backend routing model: inference routing now resolves exactly one backend per request, so fallback entries are parsed but never consulted at runtime. The check exists purely to tell the user their configured failover has no effect.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:255 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the [reliability].fallback_providers block from config.toml to silence the warning","Rely on the single configured backend; if uptime matters, monitor it externally and restart or switch manually","Track multi-provider failover as a feature request rather than expecting the legacy key to work"],"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"}