-
Notifications
You must be signed in to change notification settings - Fork 93
MemoryStore: persistent memory data layer (SQLite + FTS5) #542
Copy link
Copy link
Open
Labels
agentconsumerBlocks consumer adoption — must ship for the v0.20.0 consumer launch windowBlocks consumer adoption — must ship for the v0.20.0 consumer launch windowdomain:agent-coreFramework, tools, registry, memory, skills, orchestrationFramework, tools, registry, memory, skills, orchestrationenhancementNew feature or requestNew feature or requestp0high priorityhigh prioritysdkSDK/framework changesSDK/framework changestrack:consumer-appHermes-competitor consumer product — mobile-first, voice + messaging + memory + skillsHermes-competitor consumer product — mobile-first, voice + messaging + memory + skills
Metadata
Metadata
Assignees
Labels
agentconsumerBlocks consumer adoption — must ship for the v0.20.0 consumer launch windowBlocks consumer adoption — must ship for the v0.20.0 consumer launch windowdomain:agent-coreFramework, tools, registry, memory, skills, orchestrationFramework, tools, registry, memory, skills, orchestrationenhancementNew feature or requestNew feature or requestp0high priorityhigh prioritysdkSDK/framework changesSDK/framework changestrack:consumer-appHermes-competitor consumer product — mobile-first, voice + messaging + memory + skillsHermes-competitor consumer product — mobile-first, voice + messaging + memory + skills
Summary
Build the core data layer for agent memory. Single SQLite database (
~/.gaia/memory.db) with 3 tables, FTS5 search, and WAL mode.Spec:
docs/spec/agent-memory-architecture.md→ "File 1: memory_store.py"Supersedes gaia6: Replaces
SharedAgentState(singleton + 2 DBs) with simplerMemoryStore(no singleton, 1 DB).Schema
Tables
Key Features
Class Interface
Knowledge Fields
category: fact, preference, error, skillsource: tool, heuristic, error_auto, user, discoverycontext: global, work, personal, project-x (user-defined)sensitive: 0/1 flag — excluded from system promptentity: lightweight type:name linking (person:X, app:Y, project:Z)due_at/reminded_at: temporal awarenessAcceptance Criteria