Open
Description
As @allenwb wrote in #882 (comment) it'd be good to formally define agent as holding:
- A set of Realms. The realms in the set are private to the Agent and may not be accessible to any other agent.
- A heap of SharedArrayBuffer objects that whose access may be shared with other Agents
- A set of well-known symbol values
- A GlobalSymbolRegistry
It would also be good to formalize how to get from a Realm to its corresponding Agent (e.g., a language construct a host could reuse).
It would also be good to have the same for agent clusters. I.e., how to get to the cluster from an object (possibly via the realm or agent), and what the cluster consists of (a set of agents).
This is especially useful for hosts that enable communication between agent clusters (i.e., HTML).
(This is effectively what #882 morphed into, but restated for clarity and brevity.)