Nudge workflow stages that end a turn without finish_stage

This commit is contained in:
Ian Gulliver
2026-10-20 22:04:18 -07:00
parent 57324fe9a2
commit 0877cecab0
3 changed files with 34 additions and 3 deletions
+5 -1
View File
@@ -822,7 +822,11 @@ func (s *Store) ReadyPromptDue(ctx context.Context, id string) (bool, error) {
WHERE t.id = ? AND e.task_id = t.id AND e.seq > t.ready_prompt_seq
AND ((e.kind = 'snapshot.created' AND json_extract(e.payload, '$.trigger') NOT IN (?, ?, ?))
OR (e.kind = 'user.message' AND e.actor != ? AND e.actor NOT LIKE '% (lead)' AND json_extract(e.payload, '$.bounce') IS NOT 1))
)`, id, string(api.SnapshotTriggerAnswer), string(api.SnapshotTriggerFork), string(api.SnapshotTriggerAskHuman), agentActor).Scan(&due)
) OR EXISTS (
SELECT 1 FROM events e, tasks t, tasks r
WHERE t.id = ? AND t.workflow_run != '' AND r.workflow_run = t.workflow_run AND e.task_id = r.id
AND e.kind = 'task.workflow_finished' AND e.seq > t.ready_prompt_seq
)`, id, string(api.SnapshotTriggerAnswer), string(api.SnapshotTriggerFork), string(api.SnapshotTriggerAskHuman), agentActor, id).Scan(&due)
return due, err
}