Drop workflow kinds, deliver reviews when done, rename/delete workflows

This commit is contained in:
Ian Gulliver
2026-10-20 20:09:38 -07:00
parent 51df9adf61
commit 35f59246f7
17 changed files with 671 additions and 531 deletions
@@ -0,0 +1,11 @@
UPDATE workflows SET definition = json_remove(definition, '$.kind')
WHERE json_type(definition, '$.kind') IS NOT NULL;
UPDATE tasks SET workflow_definition = json_remove(workflow_definition, '$.kind')
WHERE workflow_definition != '' AND json_type(workflow_definition, '$.kind') IS NOT NULL;
UPDATE reviews SET definition = json_remove(definition, '$.kind')
WHERE definition != '' AND json_type(definition, '$.kind') IS NOT NULL;
UPDATE events SET payload = json_set(payload, '$.kept', json_array(task_id))
WHERE kind = 'task.workflow_finished' AND json_type(payload, '$.kept') IS NULL;
@@ -0,0 +1,25 @@
CREATE TABLE reviews_next (
id TEXT PRIMARY KEY,
task_id TEXT NOT NULL REFERENCES tasks(id),
snapshot_n INTEGER NOT NULL,
agent_session_id TEXT REFERENCES agent_sessions(id),
vendor TEXT NOT NULL,
model TEXT NOT NULL,
state TEXT NOT NULL,
result TEXT NOT NULL DEFAULT '',
error TEXT NOT NULL DEFAULT '',
created_at TEXT NOT NULL,
finished_at TEXT NOT NULL DEFAULT '',
finding_states TEXT NOT NULL DEFAULT '{}',
finding_responses TEXT NOT NULL DEFAULT '{}',
stage TEXT NOT NULL DEFAULT '',
definition TEXT NOT NULL DEFAULT '',
UNIQUE (task_id, snapshot_n, stage)
);
INSERT INTO reviews_next (id, task_id, snapshot_n, agent_session_id, vendor, model, state, result, error, created_at, finished_at, finding_states, finding_responses, stage, definition)
SELECT id, task_id, snapshot_n, agent_session_id, vendor, model, state, result, error, created_at, finished_at, finding_states, finding_responses, stage, definition FROM reviews;
DROP TABLE reviews;
ALTER TABLE reviews_next RENAME TO reviews;
CREATE UNIQUE INDEX reviews_session ON reviews(agent_session_id);