It's mainly about when to set and reset upgradeMode. Running "pkcon update" leads to calling get-updates and update-packages. A list of update candidates will be passed from get-updates to update-packages. * If upgradeMode is set in get-updates and reset to FALSE when it's done, update-packages won't be able to perform a dup-like action in Tumbleweed. * If upgradeMode is set in get-updates and not reset when finished, removing/ installing packages will lead to a full dup-style system upgrade in Tumbleweed. * We can try to set upgradeMode in update-packages, but update-packages is responsible for updating specific packages and upgrading the whole system. But the way PackageKit works make it difficult to differentiate between those two.