{"record":{"id":"4c468759cf62b883","repo":"Hmbown/CodeWhale","slug":"session-goal-store-was-not-created","errorCode":null,"errorMessage":"Session goal store {} was not created","messagePattern":"Session goal store (.+?) was not created","errorType":"exception","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/session_manager.rs","lineNumber":978,"sourceCode":"                    dir.display()\n                ),\n            ));\n        }\n        Ok(Some(dir))\n    }\n\n    fn ensure_session_goals_dir(&self) -> std::io::Result<PathBuf> {\n        if let Some(dir) = self.checked_existing_session_goals_dir()? {\n            return Ok(dir);\n        }\n        let dir = self.session_goals_dir();\n        match fs::create_dir(&dir) {\n            Ok(()) => {}\n            Err(error) if error.kind() == io::ErrorKind::AlreadyExists => {}\n            Err(error) => return Err(error),\n        }\n        self.checked_existing_session_goals_dir()?.ok_or_else(|| {\n            io::Error::new(\n                io::ErrorKind::NotFound,\n                format!(\"Session goal store {} was not created\", dir.display()),\n            )\n        })\n    }\n\n    fn validated_session_goal_path(&self, session_id: &str) -> std::io::Result<PathBuf> {\n        let id = self.validated_session_id(session_id)?;\n        Ok(self.session_goals_dir().join(format!(\"{id}.json\")))\n    }\n\n    fn checked_existing_session_goal_file(path: &Path) -> std::io::Result<bool> {\n        let metadata = match fs::symlink_metadata(path) {\n            Ok(metadata) => metadata,\n            Err(error) if error.kind() == io::ErrorKind::NotFound => return Ok(false),\n            Err(error) => return Err(error),\n        };\n        if metadata.file_type().is_symlink() || !metadata.is_file() {","sourceCodeStart":960,"sourceCodeEnd":996,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/session_manager.rs#L960-L996","documentation":"Post-creation invariant guard in ensure_session_goals_dir: create_dir reported success or AlreadyExists, but the subsequent existence/type re-check still finds no valid directory — the store could not be confirmed to exist after creation.","triggerScenarios":"Thrown at crates/tui/src/session_manager.rs:978 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the operation; a transient race may have removed the directory.","Investigate external processes (cleaners, sync tools) deleting the sessions directory.","Check filesystem health if creation consistently fails to persist."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}