-- Memories table with vector column
CREATE TABLE memories (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
tenant_id UUID NOT NULL,
agent_id TEXT NOT NULL,
content TEXT NOT NULL,
embedding vector(1536),
memory_type TEXT DEFAULT 'episodic',
importance FLOAT DEFAULT 0.5,
valid_from TIMESTAMPTZ DEFAULT now(),
valid_to TIMESTAMPTZ DEFAULT 'infinity',
deleted_at TIMESTAMPTZ
);
-- HNSW index for sub-5ms recall at 100K scale
CREATE INDEX idx_memories_hnsw ON memories
USING hnsw (embedding vector_cosine_ops)
WITH (m = 16, ef_construction = 128);