tota automatically extracts memories from your conversations and stores them in a local SQLite database with full-text search. Every session builds on what it learned before.

Memory types

TypeDescriptionPersistence
factA concrete piece of information about you or your contextDurable
preferenceHow you like things doneDurable
projectA project goal, structure, or constraintDurable
codeA code pattern, snippet, or conventionDurable
workflowA repeatable process or sequence of stepsDurable
contactA person, role, or team relationshipDurable
eventA past event, decision, or notable momentDurable
goalSomething you're working towardDurable
contextSession context — current task, working directoryActive (short-lived)
reminderA time-based prompt to revisit somethingActive

How it works

  1. Extract — After each response, tota scans the conversation for notable information
  2. Score — Assigns relevance and novelty scores to candidate memories
  3. Recall — Before responding, retrieves the top 5 most relevant memories via FTS5
  4. Consolidate — Merges near-duplicates and updates stale facts

All data is local: ~/.tota/memory/. Nothing is sent to the cloud.

Manage memories

/memory             # browse and manage memories
/memory list        # list recent memories
/memory search <q>  # full-text search
/memory delete <id> # delete a specific memory
/memory clear       # clear all memories (destructive!)
⚠️

/memory clear is irreversible. All extracted memories will be deleted permanently.

Conflict resolution

When tota encounters a new fact that contradicts a stored memory, it:

  1. Updates the stored memory with the new value
  2. Keeps a note of the old value as context
  3. Logs the conflict for transparency

Evidence kinds tracked: conversation, explicit, inferred, confirmed.