{"record":{"id":"ffbe07e9ed39d32e","repo":"tinyhumansai/openhuman","slug":"file-not-found","errorCode":null,"errorMessage":"file not found: {}","messagePattern":"file not found: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/core/memory_cli.rs","lineNumber":464,"sourceCode":"\nfn next_arg(args: &[String], i: &mut usize, flag: &str) -> Result<String> {\n    let value = args\n        .get(*i + 1)\n        .ok_or_else(|| anyhow::anyhow!(\"missing value for {flag}\"))?\n        .clone();\n    *i += 2;\n    Ok(value)\n}\n\nfn read_input(path: &str) -> Result<String> {\n    if path == \"-\" {\n        let mut buf = String::new();\n        std::io::stdin().read_to_string(&mut buf)?;\n        Ok(buf)\n    } else {\n        let path = PathBuf::from(path);\n        if !path.exists() {\n            return Err(anyhow::anyhow!(\"file not found: {}\", path.display()));\n        }\n        Ok(std::fs::read_to_string(&path)?)\n    }\n}\n\n/// Resolve the memory client for a subcommand, refusing first when the bound\n/// driver cannot serve it.\n///\n/// Two gates run here, both *config facts* naming the driver rather than silent\n/// absence (`docs/specs/kernel.md` §3.3 makes the CLI its one exception, because\n/// a human reads silence as a typo — same reasoning as the retained `mcp` /\n/// `tui` arms in `src/core/cli.rs`):\n///\n/// 1. **Capability gate** — when the subcommand maps to a gated controller, the\n///    bound driver must advertise that family.\n/// 2. **Legacy-client gate** — every subcommand below operates on the embedded\n///    store directly (via `memory::global::init`), so the bound driver must be\n///    the embedded engine. This is what makes `driver = \"null\"` (or a fallback)","sourceCodeStart":446,"sourceCodeEnd":482,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/a221052e0df5b1f7598fceba7329fd1af95d6699/src/core/memory_cli.rs#L446-L482","documentation":"Error \"file not found: {}\" thrown in tinyhumansai/openhuman.","triggerScenarios":"Thrown at src/core/memory_cli.rs:464 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a221052e0df5b1f7598fceba7329fd1af95d6699","analyzedAt":"2026-08-16T12:47:06.542Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}