After the project is checked out and built, a generic dataspace server is started.
Then, two clients are connected, using unattenuated capabilities to the server’s dataspace to enact a “chat” protocol via the dataspace. (Source code for the clients: here)
Then, the “root” capability to the server is attenuated, limiting access only to a user calling themself
tonyg. One of the clients reconnects with the attenuated capability. Its messages are not transmitted unless it uses the nick
Because the attenuated capability didn’t allow
Observeassertions at all, the attenuated client can only send presence and messages!
So the attenuation is redone to allow observation of others’ presence and utterances, and the client is again reconnected.
Just click play on the embedded recording below, or visit the recording’s page on asciinema.org.
Alternatively, you can follow along with the instructions in the README on your own machine.