I would not be messing around with add --preserve=all
etc.
That will just control what is in the Manifest.toml.
Which means it is a causal ] up
away from being swept away.
I really think you have to use Enviroments. they might not solve everything but they will help.
Its also one of the thigns that is way easier in julia than in any of the common alternatives (Python/R/Matlab etc.
At least teach them enough to do julia --project=.
to start julia in an eviroment with a Project.toml
that you are providing.
and that has the packages with the compat settings you trust.
Which might be =
rather than default ^
compat.
e.g.
[compat]
Stipple="=0.6.0"
ShiftedArrays= "=1.0.0"