Neotoma

What to store first

Neotoma stores any structured fact that benefits from deterministic state evolution, versioning, and provenance. The deciding question is not “is this personal data?” but does this fact benefit from being versioned, auditable, and reproducible?

If an agent or user would later need to recall a fact, verify when it changed, trace why a decision was made, or reconstruct state at a point in time: it belongs in Neotoma.

Tier 1 - High-value facts

Store these proactively from the first session.

CategoryExamples
People and relationshipsContacts, companies, organizations, role connections
Commitments and tasksObligations, action items, deadlines, promises made
Events and decisionsMeetings, milestones, choices with rationale
Financial factsTransactions, invoices, receipts, contracts, payments owed

Tier 2 - Contextual facts

Store when encountered in conversation, documents, or external tools.

CategoryExamples
Preferences and standardsUser preferences, conventions, style guides, stated constraints
Project contextCodebase entities, architectural decisions, release metadata, config
Documents and artifactsUploaded files with extracted structure, reports, specifications

Tier 3 - Derived context

Store when the derived record carries future recall, audit, or relationship value.

CategoryExamples
ConversationsAgent interactions with provenance (persisted per-turn)
Session stateActive environment, running tools, current working context
External dataRecords pulled from email, calendar, web, APIs, other MCPs

Before-and-after examples

Contacts from a conversation

Before: You mention “Clayton from Acme” in a chat. Next session, the agent has no idea who Clayton is.

After: Agent stores a contact entity with name, company, and a REFERS_TO link to the conversation. Next session, Clayton’s full context is retrieved instantly.

Task from a commitment

Before: “I need to follow up with Sarah by Friday.” The commitment exists only in that session.

After: Agent stores a task entity with title, due date, and REFERS_TO Sarah’s contact. Task persists across sessions and tools.

Decision with rationale

Before: You decide on PostgreSQL over MySQL. Three weeks later, no one remembers why.

After: Agent stores a decision_note with rationale and context. The reasoning is versioned and traceable.

Decision heuristic

When deciding whether to store something, apply this test. If any answer is yes, store it.

  1. Recallability: Would an agent or user need this fact again in a future session?
  2. Auditability: Would someone need to know when this was recorded or how it changed?
  3. Reproducibility: Would reconstructing past state require this fact?
  4. Relationship value: Does this connect to other entities (people, tasks, events)?

What NOT to store

CategoryExamples
Ephemeral outputNo future recall value; no benefit from versioning
Duplicate recordsAlready in Neotoma; check before storing
Inferred or predicted dataNeotoma stores facts, not guesses
Unapproved dataExplicit user control required
Credentials and secretsBelong in secret managers, not state layers

Ready to start? Install Neotoma, then follow the walkthrough to see storage in action. See backup and restore to protect your data.