-- Document version history for workspace files. -- Every content update saves the previous content as a version, -- enabling rollback and audit trails. CREATE TABLE memory_document_versions ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), document_id UUID NOT NULL REFERENCES memory_documents(id) ON DELETE CASCADE, version INTEGER NOT NULL, content TEXT NOT NULL, content_hash TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), changed_by TEXT, UNIQUE(document_id, version) ); CREATE INDEX idx_doc_versions_lookup ON memory_document_versions(document_id, version DESC); -- GIN index on metadata for JSON path queries (used by hygiene to find -- .config documents with hygiene.enabled). The metadata column already -- exists (V1) but was never indexed. CREATE INDEX idx_memory_documents_metadata ON memory_documents USING GIN (metadata jsonb_path_ops);