While testing for a client with XML Workflow, it was noticed that an extra policy was being retained even before inheriting from the parent collection.
During the doProcessing method for CompleteStep, the XMLWorkflowManager is started. During this process, the current user's policies are removed. Directly after, a new READ policy is added for that user with no Resource Policy type.
Then, during InstallItem.finishItem, the Item is supposed to inherit the parent Collection's policies. However, because the READ policy has no Resource Policy type, Item.inheritCollectionDefaultPolicies (and subsequently Item.adjustItemPolicies) cannot properly remove the READ policy, leaving it behind.
While this doesn't seem to affect behavior, it leaves behind needless policies which may confuse users.