You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenClaw migrated its session storage from per-agent JSONL files to a per-agent SQLite database on 2026-09-01 (release 2026.8.1 per meta.lastTouchedVersion, migration artifacts in ~/.openclaw/session-sqlite-migration-runs/). CodeBurn's OpenClaw provider still only reads the legacy path documented in the README:
Since the migration, OpenClaw no longer writes any .jsonl files under ~/.openclaw/agents/. The old ones were either moved to a session-sqlite-import-archive/ subfolder or renamed to *.jsonl.deleted.<timestamp>. New session data lives exclusively in ~/.openclaw/agents/<agent>/agent/openclaw-agent.sqlite (tables include transcript_events, session_transcript_active_events, session_conversations, etc.).
Result: codeburn doctor reports the openclaw provider as completely empty, even though the tool is actively used and has substantial real usage.
Steps to reproduce
Have OpenClaw >= 2026.8.1 installed and used, with sessions migrated to SQLite (any install where ~/.openclaw/agents/*/agent/openclaw-agent.sqlite exists and ~/.openclaw/agents/*.jsonl does not).
Run codeburn doctor --json --no-color.
Observed
{
"provider": "openclaw",
"displayName": "OpenClaw",
"status": "empty",
"probePaths": [],
"candidatesFound": 0,
"verdict": "NOTHING FOUND (tool likely not installed or no history yet)"
}
on codeburn 0.9.24 (also reproduced on 0.9.19). Confirmed the tool is installed and actively used (multiple agent SQLite DBs with recent mtime, GB of transcript data).
Expected
OpenClaw usage/model data continues to be discovered and reported after the storage migration.
This is a different failure mode than doctor: extend probeRoots() beyond 7/42 providers to kill the silent-zero class #899 (which is about missing probeRoots() diagnostics for silent-zero providers, and lists openclaw as a Tier-2 candidate for that work). Even with probeRoots() added, the underlying JSONL glob would still resolve to zero files post-migration — the fix needs actual SQLite parsing support for the new storage, not just better diagnostics on the old path.
Since several other providers already have SQLite parsers (Forge's ~/.forge/.forge.db, Zed's threads.db, Copilot's OTel store), there's precedent in the codebase for this shape of provider.
Happy to share anonymized schema/sample rows from openclaw-agent.sqlite (transcript_events / session_transcript_active_events) if useful for scoping the parser.
Summary
OpenClaw migrated its session storage from per-agent JSONL files to a per-agent SQLite database on 2026-09-01 (release
2026.8.1permeta.lastTouchedVersion, migration artifacts in~/.openclaw/session-sqlite-migration-runs/). CodeBurn's OpenClaw provider still only reads the legacy path documented in the README:Since the migration, OpenClaw no longer writes any
.jsonlfiles under~/.openclaw/agents/. The old ones were either moved to asession-sqlite-import-archive/subfolder or renamed to*.jsonl.deleted.<timestamp>. New session data lives exclusively in~/.openclaw/agents/<agent>/agent/openclaw-agent.sqlite(tables includetranscript_events,session_transcript_active_events,session_conversations, etc.).Result:
codeburn doctorreports theopenclawprovider as completely empty, even though the tool is actively used and has substantial real usage.Steps to reproduce
~/.openclaw/agents/*/agent/openclaw-agent.sqliteexists and~/.openclaw/agents/*.jsonldoes not).codeburn doctor --json --no-color.Observed
{ "provider": "openclaw", "displayName": "OpenClaw", "status": "empty", "probePaths": [], "candidatesFound": 0, "verdict": "NOTHING FOUND (tool likely not installed or no history yet)" }on codeburn 0.9.24 (also reproduced on 0.9.19). Confirmed the tool is installed and actively used (multiple agent SQLite DBs with recent
mtime, GB of transcript data).Expected
OpenClaw usage/model data continues to be discovered and reported after the storage migration.
Environment
Notes / possible approach
probeRoots()diagnostics for silent-zero providers, and listsopenclawas a Tier-2 candidate for that work). Even withprobeRoots()added, the underlying JSONL glob would still resolve to zero files post-migration — the fix needs actual SQLite parsing support for the new storage, not just better diagnostics on the old path.~/.forge/.forge.db, Zed'sthreads.db, Copilot's OTel store), there's precedent in the codebase for this shape of provider.openclaw-agent.sqlite(transcript_events/session_transcript_active_events) if useful for scoping the parser.