-- Migration 019: Add session_id column to tasks table
-- This enables tracking which session created each task (CF-282)

-- Add session_id column to tasks table
ALTER TABLE tasks ADD COLUMN IF NOT EXISTS session_id TEXT;

-- Create index for session_id lookups
CREATE INDEX IF NOT EXISTS idx_tasks_session_id ON tasks(session_id);

-- Backfill session_id from task_activity for existing tasks
-- Use the earliest 'created' activity for each task
UPDATE tasks t
SET session_id = ta.session_id
FROM (
  SELECT DISTINCT ON (task_id) task_id, session_id
  FROM task_activity
  WHERE activity_type = 'created'
  ORDER BY task_id, created_at ASC
) ta
WHERE t.id = ta.task_id AND t.session_id IS NULL;

-- Add comment
COMMENT ON COLUMN tasks.session_id IS 'Session that created this task (for context retrieval)';
