We talked. He's upset, I'm upset.
He thought it was a clever, ironic gift. Something he knew I'd like, but not a big deal. I would have felt better about it if I didn't know he'd just bought the same thing for his dad, but that didn't occur to him (he's an incredibly focused, highly practical, geek engineer, with all the associated personality traits).
He feels he can't choose my presents, has misread my reactions in the past and thought that because I left the gift lying around I didn't like it (no, I'm a slattern), and when I did put it away thought I didn't like it because I wasn't using it (no, I tried to be tidy because my mess bothers him). He hadn't noticed that all week I've been wearing the earrings he bought me!
I thought he expected me to organise the party, he had no idea of that - thought I'd say what I wanted and we'd divvie up the jobs. If I really want an offsite party, that's what we'll have.
He suggested we not go out for dinner last night, have something special at home instead, like pancakes. In his eyes a special treat, but not a big deal to prepare. I explained that I did not want to make pancakes because it generally works out with me standing at the stove for an hour while everyone else eats. So he cooked, I overdid it on the carbs and feel dire this morning.
So we're not so upset this am (apart from my bowels!), but realise that, after 20y together, we still need to spell things out to each other.