First off `EditChange.NewEntity throws an error, it would be good to include the commit ID and timestamp in the message.
Additonally SnapshotWorker.ApplyCommitChanges may throw exceptions, if it does we want to track as much context as we can. It may be helpful to split that method into multiple others to make this work well.
Ideally any exception would be caught and rethrown with more context, including the commit id and time, as well as change which triggered the error and the entity id. More is better but those would be most helpful.