{"record":{"id":"9dc83aeb5900e9a6","repo":"openai/codex","slug":"io-error-while-action-source","errorCode":null,"errorMessage":"io error while {action}: {source}","messagePattern":"io error while (.+?): (.+?)","errorType":"exception","errorClass":"SystemSkillsError","httpStatus":null,"severity":"error","filePath":"codex-rs/skills/src/lib.rs","lineNumber":177,"sourceCode":"            include_dir::DirEntry::File(file) => {\n                let path = dest.join(file.path());\n                if let Some(parent) = path.as_path().parent() {\n                    fs::create_dir_all(parent).map_err(|source| {\n                        SystemSkillsError::io(\"create system skills file parent\", source)\n                    })?;\n                }\n                fs::write(path.as_path(), file.contents())\n                    .map_err(|source| SystemSkillsError::io(\"write system skill file\", source))?;\n            }\n        }\n    }\n\n    Ok(())\n}\n\n#[derive(Debug, Error)]\npub enum SystemSkillsError {\n    #[error(\"io error while {action}: {source}\")]\n    Io {\n        action: &'static str,\n        #[source]\n        source: std::io::Error,\n    },\n}\n\nimpl SystemSkillsError {\n    fn io(action: &'static str, source: std::io::Error) -> Self {\n        Self::Io { action, source }\n    }\n}\n\n#[cfg(test)]\nmod tests {\n    use super::SYSTEM_SKILLS_DIR;\n    use super::collect_fingerprint_items;\n","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/skills/src/lib.rs#L159-L195","documentation":"Error \"io error while {action}: {source}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/skills/src/lib.rs:177 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":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}