1. Content upgrade works with optional dependencies?
If you have content made with Column 1.0 that uses CP 1.0 and then you upload Column 1.1 which uses CP 1.1 (but CP 1.1 is not in the file you upload since it is an optional dependency in semantics). Now if you try to run content upgrade for Column 1.0 it will break since it tries to upgrade CP 1.0 to 1.1 which the system does not have. I.e. You will have to upload newer versions of all the optional dependencies you are using in your content.