Open the app
Data model

Schema · SQLite memory

Field-by-field reference for the SQLite memory tables — the agents’ persistent knowledge graph.

Under review — agent memory may move to Convex
The agent-memory layer is likely to use Convex (native vector search, full-text search and the @convex-dev/agent component) rather than a separate SQLite service — Convex is already self-hosted, reactive and backed up. SQLite stays only as the embedded Convex backend store; pgvector / Qdrant is the graduation path at scale. The schema below is kept for reference and is revisited when the agentic layer is built.

SQLite stores the agents’ persistent knowledge as a lightweight knowledge graph around one central memory_items table — not raw market data. Every conclusion keeps its evidence; revisions are immutable.

Memory tables

memory_items

FieldTypeDescription
idstringMemory ID
memory_typestringEpisodic, semantic, procedural, experimental, human
entity_typestringToken, opportunity, strategy, trade
entity_idstring, optionalRelated operational entity
titlestringMemory title
summarytextConcise knowledge
contentJSONStructured memory content
importancenumberImportance score
confidencenumberConfidence score
valid_fromdatetime, optionalBeginning of validity
valid_untildatetime, optionalEnd of validity
statusstringActive, superseded, invalidated, archived
source_typestringTrade, experiment, human, agent
source_idstring, optionalSource entity
created_bystringHuman, agent or system
created_atdatetimeCreation date
updated_atdatetimeLast update
last_accessed_atdatetime, optionalLast retrieval
access_countintegerRetrieval count

memory_relations

FieldTypeDescription
idstringRelation ID
source_memory_idstringSource memory
target_memory_idstringTarget memory
relation_typestringSupports, contradicts, caused, similar_to
strengthnumberRelation strength
confidencenumberConfidence
created_bystringHuman, agent or system
created_atdatetimeCreation date

memory_evidence

FieldTypeDescription
idstringEvidence ID
memory_idstringRelated memory
evidence_typestringMarket data, trade, report, human note
source_referencestringOperational or analytical reference
directionstringSupport, contradict, neutral
weightnumberEvidence weight
observed_atdatetime, optionalEvidence event time
summarytextEvidence summary
dataJSON, optionalStructured evidence
created_atdatetimeCreation date

memory_embeddings

FieldTypeDescription
memory_idstringRelated memory
embedding_modelstringModel used
embedding_versionstringModel/version identifier
embeddingvector/blobVector representation
content_hashstringDetects outdated embedding
created_atdatetimeCreation date

memory_feedback

FieldTypeDescription
idstringFeedback ID
memory_idstringRetrieved memory
workflow_run_idstring, optionalWorkflow using memory
feedback_typestringUseful, irrelevant, incorrect, outdated
scorenumberFeedback score
notetext, optionalExplanation
created_bystringHuman or agent
created_atdatetimeCreation date

memory_revisions

FieldTypeDescription
idstringRevision ID
memory_idstringRelated memory
revision_numberintegerRevision
previous_contentJSONPrevious state
change_reasontextReason for change
changed_bystringHuman, agent or system
created_atdatetimeRevision date

memory_compaction_runs

FieldTypeDescription
idstringCompaction run ID
statusstringRunning, complete, failed
scopestringToken, strategy, period, global
source_memory_countintegerMemories processed
created_memory_countintegerConsolidated memories created
superseded_memory_countintegerMemories superseded
summarytextCompaction summary
started_atdatetimeStart time
completed_atdatetime, optionalCompletion time
Structured first, vectors last
Retrieval prefers structured fields, then FTS5, then sqlite-vec similarity. memory_embeddings is optional and never replaces structured queries.