{"record":{"id":"8fe47f0a22ef9853","repo":"Hmbown/CodeWhale","slug":"checkpoint-schema-v-is-newer-than-supported-v","errorCode":null,"errorMessage":"Checkpoint schema v{} is newer than supported v{}","messagePattern":"Checkpoint schema v(.+?) is newer than supported v(.+?)","errorType":"validation","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/session_manager.rs","lineNumber":1261,"sourceCode":"        let archive =\n            archive_dir.join(source.file_name().ok_or_else(|| {\n                io::Error::new(io::ErrorKind::InvalidInput, \"invalid session path\")\n            })?);\n        if !archive.exists() {\n            write_atomic(&archive, &bytes)?;\n        }\n        Ok(())\n    }\n\n    fn read_checkpoint_file(&self, path: &Path) -> std::io::Result<Option<SavedSession>> {\n        if !path.exists() {\n            return Ok(None);\n        }\n        let content = fs::read_to_string(path)?;\n        let mut session: SavedSession = serde_json::from_str(&content)\n            .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))?;\n        if session.schema_version > CURRENT_SESSION_SCHEMA_VERSION {\n            return Err(std::io::Error::new(\n                std::io::ErrorKind::InvalidData,\n                format!(\n                    \"Checkpoint schema v{} is newer than supported v{}\",\n                    session.schema_version, CURRENT_SESSION_SCHEMA_VERSION\n                ),\n            ));\n        }\n        session.system_prompt = strip_legacy_truncation_note(session.system_prompt);\n        self.hydrate_approval_receipts(&mut session)?;\n        Ok(Some(session))\n    }\n\n    /// Load a specific session's crash-recovery checkpoint if present.\n    pub fn load_session_checkpoint(\n        &self,\n        session_id: &str,\n    ) -> std::io::Result<Option<SavedSession>> {\n        let path = self.validated_checkpoint_path(session_id)?;","sourceCodeStart":1243,"sourceCodeEnd":1279,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/session_manager.rs#L1243-L1279","documentation":"read_checkpoint_file() found a checkpoint JSON whose schema_version field is greater than the maximum this build supports. The reader deliberately fails closed instead of misinterpreting fields written by a newer Codewhale version; firing means the checkpoint was produced by newer software.","triggerScenarios":"Thrown at crates/tui/src/session_manager.rs:1261 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Upgrade Codewhale to a version that supports the newer checkpoint schema","Restore the checkpoint from a backup written by a compatible version","Do not hand-edit the schema_version field down; unknown fields would be silently dropped"],"exampleFix":null,"handlingStrategy":"fallback","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-14T00:17:10.932Z"}