-- Заполнить completed_at для завершённых задач, у которых completed_at остался NULL. -- Источники пустых completed_at: MCP-инструменты и автоматизации, которые меняли статус/is_completed, -- но не выставляли completed_at. Ручные и массовые переходы через UI работали корректно. UPDATE tasks SET completed_at = updated_at WHERE completed_at IS NULL AND ( is_completed = true OR current_status_id IN ( SELECT id FROM form_statuses WHERE is_final = true ) );