Consegui resolver isso. Eu ainda não tenho idéia de como ou por que o exposto poderia ter acontecido (certamente m = Model.find(id); (id == m.id)
sempre deve ser verdadeiro!), Embora eu ainda suspeite que o cache, pois parecia acontecer apenas se o cache estivesse preparado.
Eu fiz o seguinte, acredito que algo nessas etapas resolveu o problema:
- podado meu
Gemfile
Removendo algumas jóias não utilizadas como o Dalli e removendo a restrição da versão, exceto alguns casos para permitir a atualização. - corre
bundle update
resultando em muitas dependências atualizadas - Eu fui usado um BuildPack personalizado no Heroku (bifurcado do Ruby Office Of One), puxei nos últimos meses de mudanças a montante.
Obrigado a todos que leem e comentaram. Eu acho que algo estava errado em minhas dependências de jóias ou no ambiente Heroku.