Upon further inspection, the diswasher has a "rinse and hold" button which was selected. Pressing "normal wash" resolved the problem. Doh! /me slaps forehead.
Next up: natural language product compatibility:
cake requires and is compatible with frosting
cake:flavor:carrot does not require and is not compatible with whipping cream
etc...