(sort of a design issue...)
Both Pet and Order have their own status which is updated independently. That is, nothing enforces they correspond, like OrderStatus.Delivered implies PetStatus.Adopted.
Some ideas to reconcile:
status: PetStatus could be removed from Pet altogether.
OrderService could update the PetRepository as necessary, and other methods to update the PetStatus could be limited.