ALTER TABLE projects ADD COLUMN review_workflow TEXT NOT NULL DEFAULT ''; ALTER TABLE reviews ADD COLUMN stage TEXT NOT NULL DEFAULT ''; ALTER TABLE reviews ADD COLUMN definition TEXT NOT NULL DEFAULT ''; UPDATE reviews SET stage = 'Review' WHERE state != 'skipped' AND stage = ''; UPDATE events SET payload = json_set(payload, '$.stage', CASE json_extract(payload, '$.state') WHEN 'skipped' THEN '' ELSE 'Review' END) WHERE kind IN ('review.started', 'review.finished', 'review.finding') AND json_extract(payload, '$.stage') IS NULL; UPDATE events SET payload = json_set(payload, '$.input.reviewer', 'Review') WHERE kind = 'agent.tool_call' AND json_extract(payload, '$.name') LIKE '%respond_to_finding' AND json_extract(payload, '$.input.reviewer') IS NULL; INSERT OR IGNORE INTO workflows (name, definition) SELECT 'Review', json_object( 'description', 'One reviewer looks over all of the task''s work.', 'kind', 'review', 'steps', json_array(json_object( 'stage', 'Review', 'model', u.review_model, 'prompt', 'Look for bugs, security problems, missing or wrong tests, and anything that doesn''t do what the task asked.' )) ) FROM projects p JOIN users u ON u.login = p.created_by ORDER BY p.created_at LIMIT 1; UPDATE projects SET review_workflow = 'Review' WHERE review_workflow = '' AND EXISTS (SELECT 1 FROM workflows WHERE name = 'Review'); ALTER TABLE users DROP COLUMN review_model; ALTER TABLE users DROP COLUMN second_review_model;