@Misbah I agree with what you saying but I want to make sure if it is even technically possible. It seems like its not even technically possible . Access control will act as a work around but people with access can still deploy.
Even segregation of workspaces will not work as you still need someone to deploy structural changes from dev to prod to uat .
May be it has to be managed by a business process rather than technically
I don’t think that is true. You can push Revision tags from test model as long as your test model has latest revision tag. Once model is in Deployed mode it will not go out of sync unless you take it out of deployed mode.