Actually, abstract sockets are mediated. Like so many other things, it is a matter of namespacing. Abstract sockets often look like this:
@foo, but they can have the form:
@/path/foo. I’m not saying the first iteration should support abstract sockets, but it could if the namespacing was right. Eg:
@snap.$SNAP_NAME.whatever (eg, @snap.foo.whatever)
- @$SNAP_DATA/whatever (eg, @/var/snap/foo/x1/whatever)
Today, the default template does not allow creating abstract sockets, but this is only because we never decided on how to namespace them (it was discussed long ago, but never brought up again).