{"record":{"id":"cea79e933c971830","repo":"tinyhumansai/openhuman","slug":"todo-clear-e","errorCode":null,"errorMessage":"todo_clear: {e}","messagePattern":"todo_clear: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/threads/todos/tools.rs","lineNumber":516,"sourceCode":"    fn description(&self) -> &str {\n        \"Remove every card from a thread's todo board, leaving it empty. \\\n         Irreversible. Only use when the user wants to clear the whole board.\"\n    }\n\n    fn parameters_schema(&self) -> serde_json::Value {\n        json!({ \"type\": \"object\", \"properties\": { \"thread_id\": thread_id_prop() } })\n    }\n\n    fn permission_level(&self) -> PermissionLevel {\n        PermissionLevel::Write\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        log::debug!(\"[tool][todos] clear invoked\");\n        let location = board_location(&self.config, &args);\n        let snapshot = ops::clear(&location)\n            .await\n            .map_err(|e| anyhow::anyhow!(\"todo_clear: {e}\"))?;\n        snapshot_to_result(snapshot)\n    }\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use crate::openhuman::tools::traits::ToolScope;\n\n    fn cfg() -> Arc<Config> {\n        Arc::new(Config::default())\n    }\n\n    #[test]\n    fn names_and_levels() {\n        let c = cfg();\n        assert_eq!(TodoListTool::new(c.clone()).name(), \"todo_list\");\n        assert_eq!(","sourceCodeStart":498,"sourceCodeEnd":534,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/threads/todos/tools.rs#L498-L534","documentation":"Generic wrapper from todo_clear: wiping every card from the board failed. The underlying {e} is the ops clear error — usually a board file read/write or thread-location failure. The operation is irreversible on success, so treat failures before confirming cause carefully.","triggerScenarios":"Thrown at src/openhuman/threads/todos/tools.rs:516 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read {e} for the concrete clear failure","Confirm the target thread (or scratch board) exists","Re-run todo_list to see whether the board state is intact before retrying"],"exampleFix":null,"handlingStrategy":"try-catch","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"}