I was struggling to understand why prunes were not deleting fossils, even after running backups on all repos after the prune which collected them. After looking at the source code, I saw that for storage backends which lack strong consistency, the second prune will only delete the fossils if at least 12 hours had passed between the prune that collected them and the most recent snapshot (see also https://github.com/gilbertchen/duplicacy/issues/20#issuecomment-238332490).
I think it would be helpful to document this behavior and indicate which storage backends are affected. A few forum discussions about pruning not working as expected end in the suggestion to use -exclusive
without mentioning that this storage consistency issue might be the root cause (for example, Prune isn't cleaning remote storage). If the above behavior were documented, it would help prevent people from reaching for the potentially dangerous -exclusive
flag when they might not need it.