task spec