{"record":{"id":"3beaacff793eb7e6","repo":"Hmbown/CodeWhale","slug":"unsupported-sub-agent-state-schema","errorCode":null,"errorMessage":"Unsupported sub-agent state schema {}","messagePattern":"Unsupported sub-agent state schema (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/tools/subagent/mod.rs","lineNumber":4334,"sourceCode":"                    .join(\"state\")\n                    .join(SUBAGENT_STATE_FILE),\n            )?;\n            if legacy.exists() {\n                tracing::info!(\n                    target: \"subagent\",\n                    \"loading sub-agent state from legacy path for migration: {}\",\n                    legacy.display()\n                );\n                legacy\n            } else {\n                return Ok(());\n            }\n        };\n\n        let raw = read_subagent_state_file(&self.state_root, &path)?;\n        let state = serde_json::from_str::<PersistedSubAgentState>(&raw)?;\n        if state.schema_version != SUBAGENT_STATE_SCHEMA_VERSION {\n            return Err(anyhow!(\n                \"Unsupported sub-agent state schema {}\",\n                state.schema_version\n            ));\n        }\n\n        let mut coordination = state.coordination;\n        coordination\n            .validate_replay()\n            .map_err(|error| anyhow!(\"Invalid coordination ledger: {error}\"))?;\n        self.agents.clear();\n        self.worker_records.clear();\n        self.persist_sequence.store(\n            state.snapshot_sequence,\n            std::sync::atomic::Ordering::Relaxed,\n        );\n        self.coordination = coordination;\n        for persisted in state.agents {\n            let nickname = persisted","sourceCodeStart":4316,"sourceCodeEnd":4352,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/tools/subagent/mod.rs#L4316-L4352","documentation":"Schema guard while loading persisted sub-agent state: the JSON deserialized successfully but state.schema_version does not equal SUBAGENT_STATE_SCHEMA_VERSION. The file (from the current path or the legacy migration path) was written by an incompatible older/newer version, and no migration path exists for it.","triggerScenarios":"Thrown at crates/tui/src/tools/subagent/mod.rs:4334 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Regenerate the sub-agent state by deleting the persisted state file — agent coordination state is reconstructible","Use the Codewhale version that wrote the file to migrate or consume it","Do not hand-edit schema_version; the format difference is semantic, not just numeric"],"exampleFix":null,"handlingStrategy":"validation","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"}