Talos session management — append-only session logging with tree-branching support.
Sessions are stored as append-only files, organized by working directory.
New sessions use the compact text .tlog format by default; existing .jsonl
files are read transparently for backward compatibility. Each line in a session
file represents a [SessionEntry] with fields for id, parent_id,
timestamp, role, content, and optional metadata.
Directory Layout
~/.talos/sessions/
<project>/
<uuid>.jsonl
Branching Model
Each session supports multiple branches. A branch is a linear sequence of entries
rooted at a specific entry. The fork method creates a new branch from any existing
entry, enabling tree-structured conversations.
Crash Safety
JSONL is append-only. If a crash occurs, only the last line may be corrupted, which can be detected and skipped during reads.
Backward Compatibility
Entries without id or parent_id fields (from older JSONL files) are treated
as part of a single linear branch. They are assigned synthetic IDs on load.