PRAGMA foreign_keys=OFF; CREATE TABLE thread_goals_new ( thread_id TEXT PRIMARY KEY NOT NULL REFERENCES threads(id) ON DELETE CASCADE, goal_id TEXT NOT NULL, objective TEXT NOT NULL, status TEXT NOT NULL CHECK(status IN ( 'active', 'paused', 'blocked', 'usage_limited', 'budget_limited', 'complete' )), token_budget INTEGER, tokens_used INTEGER NOT NULL DEFAULT 0, time_used_seconds INTEGER NOT NULL DEFAULT 0, created_at_ms INTEGER NOT NULL, updated_at_ms INTEGER NOT NULL ); INSERT INTO thread_goals_new ( thread_id, goal_id, objective, status, token_budget, tokens_used, time_used_seconds, created_at_ms, updated_at_ms ) SELECT thread_id, goal_id, objective, status, token_budget, tokens_used, time_used_seconds, created_at_ms, updated_at_ms FROM thread_goals; DROP TABLE thread_goals; ALTER TABLE thread_goals_new RENAME TO thread_goals; PRAGMA foreign_keys=ON;