Expand description
A directory-backed store for supercode’s own sessions — naming, titles,
listing, archiving, and deletion. The analog of claude --name / the Codex
resume/archive/delete session lifecycle.
Each session is a <name>.jsonl transcript (one crate::ChatMessage per
line) plus a <name>.meta.json sidecar carrying the title. Archiving moves
the pair under an archived/ subdirectory.
Structs§
- Fork
Provenance - P4e (§1.6 obligation-6 “fork-to-new-file WITH provenance”) — see
SessionStore::fork. - Format
Upgrade - BP-8: what
SessionStore::upgrade_in_placedid. - Session
Index - The listing plus how it was obtained (how many rows came from the cache and how many had to be re-derived) — the counters make “this really is read-repaired, not re-read from scratch” a checkable claim.
- Session
Index Entry - One cached listing row — see
SessionStore::index. - Session
Info - Lightweight metadata about a stored session.
- Session
Store - A filesystem session store rooted at a directory.
Constants§
- SESSION_
INDEX_ VERSION - BP-8: the derived-index cache format version.
Functions§
- derive_
session_ time - The “when was this session last active” rule, in one place so the store
and its callers cannot drift: a legacy
<tag>-<micros>name carries its own creation time, and everything else falls back to the transcript’s mtime.