Awesome and very helpful answers.
I may try to keep a bag with me, buy duty free, pack it into the bag and then go to an Air Canada desk and ask them to check it gate-side through to SFO. I'll see if they're willing to do that first before buying anything.