This one was painful to track down. I hope someone else uses a Boolean in their primary key so that this effort was of benefit to others.
Primary key values should be excluded when updating a resource. With nested attribute setters it is impossible anyway to change primary key values. But for creation the primary key values cannot be excluded because not every primary key property is a Serial (e.g. n:m join tables with a composite primary key).
We've found too many issues with having metric_fu and its minions as our development dependency and it's easier to just drop them than to figure out how to fix it. If one wants to run code quality checks on the codebase it's obviously still possible but you need to handle deps installation on your own. What were the problems? 1) with metric_fu along with roodi etc in the gemfile bundling takes forever (ok, it takes about 40-60 minutes) 2) if we leave only metric_fu as the dep (which depends on roodi etc. anyway) we will get latest versions of the gems which unfortunatelly results with a weird error when running semipublic specs so we need to pin the versions which gets us back to the problem #1.