DSH Toolbox

Session Index Doctor

In DSH a session file and a session list entry are two different things. When they disagree the symptom is always the same — “my session is gone”. This checks which side is missing what.

Pick a folder to run the check.

What it checks

1Payload on disk, missing from the session list
The classic “the file is there but DSH does not show it” case: the folder exists, the index never learned the id.
2Listed in the index, nothing on disk
These entries open into nothing. Usually a restored index or a half-copied folder.
3No title: payload without a projcache row
Titles and turn stats live in session_projcache.json, not in the workspace index.
4Projcache row without a payload
Stats exist for a folder that is gone. Harmless until DSH tries to open it.
5Both session formats in one folder
v4 and legacy payloads side by side. DSH picks one; the other goes stale. Any sync tool must treat them as separate.
6Archived, yet still in the active list
archivedSessionIds should not also appear inside a workspace sessionIds array.
7Archived sessions still use disk space
Archiving hides a session; it does not delete it.
8Pinned, but not in any workspace list
A pin on an unlisted session does nothing visible.