If I might summarize:
- All *wayland* APIs are non-privileged. However they do not allow you to implement (e.g.) a panel or screen saver.
- Weston has a private and privileged API which can be used to implement a panel etc.
The (current) MirSpec says two things about "privilege".
Firstly "We want to avoid exposing any sort of privileged protocol to client applications." Neither Wayland or Weston do this anyway. Weston only exposes a privileged API to processes that it executes directly.
Secondly "As another example, we consider the shell integration parts of the protocol as privileged and we'd rather avoid having any sort of shell behavior defined in the client facing protocol."
I'm not really sure what this means. It could be taken to say "Stuff like wl_shell should be privileged", but that contradicts the earlier point, so is unlikely to be the intention. So it probably means "desktop_shell" shouldn't be part of the client-facing protocol, and that is exactly the case - it isn't.
So I agree that they seem to be confused. I wonder if anyone from Mir is reading and cares to comment.
"wl_shell" is and should be unprivileged.
"desktop_shell" is an implementation detail of weston, and is not client-facing so questions of privilege are irrelevant.