It's your responsibility to clear technological changes with the client, or at least mention them. If the client never states a preference, use your own judgment.<p>The biggest fix is to have good communication--clients should be willing to explain <i>why</i> they want a particular framework ("I can find Rails devs more easily than x"), and providers must explain <i>why</i> they want to go against stated preferences ("This is a really, really dumb API endpoint. Sinatra is the simplest way of getting there from here.").<p>If people won't be open, well, that's when bad things happen.