?

Overview

Rousseau's session store is durable by design — nothing is ever purged automatically. That means operators own three decisions:

  1. When to enable LLM-backed compression.
  2. When to start a fresh session vs continue an existing one.
  3. When (rarely) to delete or nuke sessions.

When to enable compression

agent.compression.enabled is off by default. Turn it on when:

  • You are running against a pay-per-token provider (Anthropic direct, OpenAI, Bedrock, Vertex).
  • Your sessions routinely pass 60 messages before wrapping up (the default trigger).
  • You care about latency: shorter prompts = faster responses.

Keep it off when:

  • You are on claudecli with a subscription-tier Claude Code plan. Compression adds a summarisation-call cost you're not otherwise paying.
  • You want perfect recall for audit purposes (compressed history is a summary, not the transcript).

Sensible defaults:

agent:
  compression:
    enabled: true
    trigger_messages: 60
    keep_recent: 8

When to start a fresh session

  • New topic — the model conflates unrelated threads if you keep going. Start a new session.
  • After an outage — a fresh session with a clean context often outperforms one that carries stale state.
  • When switching providers — history transfers cleanly, but the model's tone/style will drift; a fresh session avoids the confusion.
  • Per project — one session per repo/feature is a good default.

Use --title on rousseau chat to name sessions distinctly. Titles show up in rousseau session list and MCP tool responses.

Finding old sessions

# Newest first, 10 rows
rousseau session list --limit 10

# FTS5 search across the whole history
rousseau session search "auth refactor"
rousseau session search '"payment webhook" AND signature'
rousseau session search 'kub*'

Deleting

rousseau session delete <session-id> --yes

Nuking the store

# Stop every rousseau process first
systemctl --user stop 'rousseau-*.service'

# Backup
cp -a ~/.local/share/rousseau ~/.local/share/rousseau.pre-nuke

# Nuke
rm ~/.local/share/rousseau/sessions.db*

Reasons to nuke:

  • You want a clean slate for a new project laptop.
  • The database grew unmanageably (rare — SQLite compresses well).
  • A schema migration failed (sessions.db.pre-migration should exist as backup).

Cross-session recall

FTS5 indexing means the agent can pull a snippet from an old session into a new one via the rousseau_search_sessions MCP tool. Even after compression, the raw messages remain until you delete. This lets old-session recall stay accurate while current context stays short.

Related pages

Type to search 150+ pages. Ranking: BM25 with title/description boost.