It sounds to me that there are two ways to address this phenomenon: (A) impose technical limitations on pennying itself or (B) deal with the negative externalities caused by pennying: namely consistent selling of CoW tokens to fund the pennying strategy.
@harisang’s post seems to focus on approach (A). The problem that I see is that while (A) solves the immediate problem of CoW being dumped through the pennying vector, it has the side effect of causing worse prices to be delivered to traders. Granted, the current “better” prices are artificial, but they are real and they are not violating the objective function. Another downside is that more complexity is being introduced on the solver side to address this specific corner case.
I wonder if there are better approaches that aim to address (B) directly: how might we reduce the negative externalities caused by pennying on the CoW token itself? The benefit of this approach would be that we would not eliminate the possibility of a solver using their own private liquidity (independent of CoW rewards) to fund this strategy.
I do not yet have a specific proposal that fits in (B), however past ideas to reduce sell pressure on the CoW token have included a vote escrow models (“VeCoW”) and revenue sharing tokens as per this draft CIP.