-- Enrich article_history with tracing metadata ALTER TABLE article_history ADD COLUMN title TEXT NOT NULL DEFAULT ''; ALTER TABLE article_history ADD COLUMN source_type TEXT NOT NULL DEFAULT 'unknown'; ALTER TABLE article_history ADD COLUMN source_url TEXT; ALTER TABLE article_history ADD COLUMN category TEXT; ALTER TABLE article_history ADD COLUMN synthesis_id UUID REFERENCES syntheses(id) ON DELETE SET NULL; ALTER TABLE article_history ADD COLUMN status TEXT NOT NULL DEFAULT 'used'; ALTER TABLE article_history ADD COLUMN scraped_ok BOOLEAN NOT NULL DEFAULT true; ALTER TABLE article_history ADD COLUMN job_id UUID NOT NULL DEFAULT gen_random_uuid(); -- Drop unique index — table is now a trace log DROP INDEX idx_article_history_user_url; CREATE INDEX idx_article_history_user_url ON article_history(user_id, url_hash); CREATE INDEX idx_article_history_job_id ON article_history(job_id); -- Store job_id on syntheses for direct provenance lookup ALTER TABLE syntheses ADD COLUMN job_id UUID;