get_board() buckets one list_tasks() fetch, so the done column inherited the shared priority DESC, created_at ASC order — creation order, which says nothing about when work finished. Sort the done bucket newest-completed-first (completed_at DESC NULLS LAST, id DESC) and expose that as a completed-desc list_tasks sort key; queue lanes keep the FIFO dispatch default.