zeroclaw-labs/zeroclaw · error

JSONL session {name} does not match its committed import rec

Error message

JSONL session {name} does not match its committed import receipt

What it means

Error "JSONL session {name} does not match its committed import receipt" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-infra/src/session_sqlite.rs:604

                    ))),
                };
            }
            let mut receipt_observed_or_commit_attempted = candidate_may_have_committed_receipt;
            let import_result = (|| -> Result<()> {
                let tx = conn
                    .transaction_with_behavior(TransactionBehavior::Immediate)
                    .with_context(|| {
                        format!("Failed to start JSONL import transaction for {name}")
                    })?;
                let receipt = Self::import_receipt(&tx, &name)?;

                if let Some((receipt_key, receipt_hash, receipt_len)) = receipt {
                    receipt_observed_or_commit_attempted = true;
                    if receipt_key != key
                        || receipt_hash != source_hash
                        || receipt_len != source_len
                    {
                        bail!("JSONL session {name} does not match its committed import receipt");
                    }
                    tx.commit().with_context(|| {
                        format!("Failed to finish JSONL receipt check for {name}")
                    })?;
                    return Ok(());
                }

                let existing_state: bool = tx
                    .query_row(
                        "SELECT EXISTS(SELECT 1 FROM sessions WHERE session_key = ?1) \
                         OR EXISTS(SELECT 1 FROM session_metadata WHERE session_key = ?1)",
                        params![key],
                        |row| row.get(0),
                    )
                    .with_context(|| {
                        format!("Failed to inspect existing SQLite session state for {key}")
                    })?;
                if existing_state {

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Restore the JSONL session content to match its committed import receipt, or delete both and re-import.

When it happens

Trigger: Thrown at crates/zeroclaw-infra/src/session_sqlite.rs:604 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/5e0cc0e33d51f3af. Report an issue: GitHub.