zeroclaw-labs/zeroclaw · error
Refusing incompatible migrated JSONL session {}
Error message
Refusing incompatible migrated JSONL session {} What it means
Error "Refusing incompatible migrated JSONL session {}" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-infra/src/session_sqlite.rs:737
&sessions_dir,
&mut mutation_guard,
)
.context("Failed to deactivate JSONL after committed SQLite import")?;
drop(conn);
return Err(sync_error).with_context(|| {
format!("JSONL import for {name} committed before sync mode restore failed")
});
}
crate::session_store::mark_session_directory_migrated(
&sessions_dir,
&mut mutation_guard,
)
.context("Failed to deactivate JSONL after committed SQLite import")?;
drop(conn);
if migrated_path.exists() {
if Self::source_fingerprint(&migrated_path, &name)? != expected {
bail!(
"Refusing incompatible migrated JSONL session {}",
migrated_path.display()
);
}
Self::sync_parent_directory(&migrated_path)?;
std::fs::remove_file(&staged_path)
.with_context(|| format!("Failed to finish staged JSONL handoff for {name}"))?;
Self::sync_parent_directory(&staged_path)?;
} else {
archive(&staged_path, &migrated_path, &expected)
.with_context(|| format!("Failed to archive imported JSONL session {name}"))?;
}
if live_path.exists() {
bail!(
"JSONL session {} reappeared during migration",
live_path.display()
);
}View on GitHub (pinned to 88bb9c8533)
Solutions
- Inspect the migrated JSONL session's metadata for incompatibility; fix or remove it before migration.
When it happens
Trigger: Thrown at crates/zeroclaw-infra/src/session_sqlite.rs:737 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23).
Data as JSON: /api/errors/9077bbf27f0ed484.
Report an issue: GitHub.