Hi James,
The following cache dependency should work:
ecommerce.shoppingcart|byguid|<shoppingCartGuid>
or
ecommerce.shoppingcart|byid|<shoppingCartId>
Under the hood (if you'd look at decompiled ShoppingCartItemInfo class) Cart and CartItems are set as paren-child relationship with touch cache dependencies to true, meaning when you amend CartItems, Cart cache key will be touched as well.