I've been using packrat fairly regularly for a while in projects, and I noticed as soon as I started using it there is a button in the interface which "automatically snapshot local changes".
I've never turned it off, I believe it is on by default, but I've never noticed it actually snapshotting my work. I start a project, add some packages through install.packages(), carry on with my work using those packages, and find when a colleague goes to pull my work that the packrat folder isn't up to date, I go back to my work, and find that I need to manually run packrat::snapshot() to update the packrat libraries, commit the changes then push.
What specifically does the "automatic snapshot" feature do? If I've interpreted it correctly, is there a specific set of heuristics that it uses that for some reason I might not be conforming to?