After rereading, I think the confusion here is that c2/ss doesn't validate the *saved document* but rather the proposed *insert doc* or *update modifier*. In the case of updates, this means there is some information unknown to SS, such as whether the array object in which you're setting `verified` already exists or not. If it doesn't exist, mongo would create it, so we need to validate conservatively and invalidate if any required keys in the same object are not explicitly set in the update modifier.

All this is to say that you generally have to `$set` entire array objects rather than specific properties within them (or at least `$set` every required field). If that isn't desirable, then I would do the update on the server and turn off validation for that one.

Also, it seems that `verified` should be required. Setting it to optional would just be a workaround for the situation I just mentioned, whereas in reality we always want it set.