Expand description
Canonical Memory Schema for LLM Agents
This module defines the core semantic schema for SochDB as an LLM memory store:
episodes- Task/conversation runs with summaries and embeddingsevents- Steps within episodes (tool calls, messages, etc.)entities- Users, projects, documents, services, etc.
§Design Rationale
Without a canonical core, LLMs must reason over O(T) unrelated table schemas.
With this fixed (episodes, events, entities) core, effective complexity becomes
O(1) + domain-specific tables.
§Retrieval Pattern
- Vector search over episode summaries: O(log E) via HNSW/Vamana
- Range scan over events by (episode_id, seq): O(V) where V = events per episode
§Example Queries
-- Find similar past tasks
SEARCH episodes BY SIMILARITY($query) TOP 5
-- Get timeline for an episode
SELECT * FROM events WHERE episode_id = $id ORDER BY seq
-- Find entities by kind
SEARCH entities WHERE kind = 'user' BY SIMILARITY($query) TOP 10Structs§
- Entity
- An entity represents a user, project, document, service, etc.
- Entity
Facts - Facts about an entity
- Entity
Search Result - Result of searching entities
- Episode
- An episode represents a bounded task or conversation run
- Episode
Search Result - Result of searching episodes
- Event
- An event represents a single step within an episode
- Event
Metrics - Performance metrics for an event
- Table
Semantic Metadata - Semantic metadata for a table (exposed via MCP resources)
Enums§
- Entity
Kind - Entity kinds for categorization
- Episode
Type - Episode types for categorization
- Event
Role - Event roles (who/what triggered the event)
- Table
Role - Table role for semantic metadata
Traits§
- Memory
Store - Core memory operations trait