{"record":{"id":"bed04f9e117677fa","repo":"tinyhumansai/openhuman","slug":"memory-embedding-model-uses-hint-hint-but-no-m","errorCode":null,"errorMessage":"memory.embedding_model uses hint \"{hint}\" but no matching [[embedding_routes]] entry exists","messagePattern":"memory\\.embedding_model uses hint \"(.+?)\" but no matching \\[\\[embedding_routes\\]\\] entry exists","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":317,"sourceCode":"                    route.hint\n                ),\n            ));\n        }\n    }\n\n    if let Some(hint) = config\n        .memory\n        .embedding_model\n        .strip_prefix(\"hint:\")\n        .map(str::trim)\n        .filter(|value| !value.is_empty())\n    {\n        if !config\n            .embedding_routes\n            .iter()\n            .any(|route| route.hint.trim() == hint)\n        {\n            items.push(DiagnosticItem::warn(\n                cat,\n                format!(\n                    \"memory.embedding_model uses hint \\\"{hint}\\\" but no matching [[embedding_routes]] entry exists\"\n                ),\n            ));\n        }\n    }\n\n    // Channel: at least one configured\n    let cc = &config.channels_config;\n    let has_channel = cc.telegram.is_some()\n        || cc.discord.is_some()\n        || cc.slack.is_some()\n        || cc.imessage.is_some()\n        || cc.matrix.is_some()\n        || cc.whatsapp.is_some()\n        || cc.email.is_some()\n        || cc.irc.is_some()","sourceCodeStart":299,"sourceCodeEnd":335,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L299-L335","documentation":"Doctor cross-check between config keys: memory.embedding_model is set to \"hint:<name>\", but no [[embedding_routes]] entry carries a matching hint (comparison is trimmed). At runtime the hint resolves to nothing, so the memory subsystem cannot find its embedding provider and either errors or silently skips embedding ingest/recall.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:317 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the typo: make the string after \"hint:\" exactly equal to an existing [[embedding_routes]] entry's `hint`","Or add the missing [[embedding_routes]] entry with that hint, a valid provider, model and dimensions","Alternatively replace the hint: form with an explicit provider/model pair if no route indirection is wanted"],"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"}