package memory // schema DDL。internal/db 中的迁移框架是领域表的权威 // 机制,但这里刻意不用它:db 包的迁移测试断言精确的 // 迁移数量,而记忆存储必须自包含、 // 可在任意 *sql.DB 上使用。表与索引因此 // 由 NewStore 幂等创建。 const createMemoryItemsTable = ` CREATE TABLE IF NOT EXISTS memory_items ( id TEXT PRIMARY KEY, persona_id TEXT NOT NULL, role_id TEXT NOT NULL DEFAULT '', project_id TEXT NOT NULL DEFAULT '', scope TEXT NOT NULL, kind TEXT NOT NULL, content TEXT NOT NULL, tags TEXT NOT NULL DEFAULT '[]', confidence REAL NOT NULL DEFAULT 1.0, source_conversation TEXT NOT NULL DEFAULT '', created_at TEXT NOT NULL, updated_at TEXT NOT NULL, decay_weight REAL NOT NULL DEFAULT 1.0, status TEXT NOT NULL DEFAULT 'active', merged_into TEXT NOT NULL DEFAULT '', merged_from TEXT NOT NULL DEFAULT '[]', merge_count INTEGER NOT NULL DEFAULT 1, occurred_at TEXT NOT NULL DEFAULT '', valid_to TEXT NOT NULL DEFAULT '', expires_at TEXT NOT NULL DEFAULT '' )` const createMemoryItemsPersonaIndex = ` CREATE INDEX IF NOT EXISTS idx_memory_items_persona_id ON memory_items (persona_id)` const createMemoryItemsPersonaCreatedIndex = ` CREATE INDEX IF NOT EXISTS idx_memory_items_persona_id_created_at ON memory_items (persona_id, created_at)`