34 lines
1.4 KiB
SQL
34 lines
1.4 KiB
SQL
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;
|