I’d like to get up to date with the current thinking about group agents. I know there have been a few discussions in mattermost and elsewhere, but I don’t know of any conclusions. And I’d like to also try to explain our needs in HoloREA as input to further discussion.
I understand holochain considers itself “agent-centric”, which is really important. So far it seems like that is limited to individual people (leaving aside for this discussion what is a user, persona, profile, etc. vs a person).
But groups also can have agency in the human realm. The simplest conventional example is of course companies of various sorts. But also less formal groups will have agency as a group if they want to and have some form of governance that can make that work. Yes, it can often (always?) be individual people acting on behalf of a group; but that doesn’t take away the group’s agency to act as a group. For example if a person makes a commitment on behalf of a group, and the person leaves the group, the group is still committed.
HoloREA treats agents of all sorts basically the same in the core model. (A of REA is for Agents.) Almost all of our known use cases involve group agents to some extent. Couple examples:
- A network of related food agents such as farmers, transporters, restaurants. The restaurants want to document where the food they serve came from. In HoloREA, you can look back along the chain to see how the food was grown on the farm (inputs applied etc.), and how it got to the restaurant from there. These events (the E) might include say some grain from a certain farm and even lot being transferred to a restaurant, and the restaurant transferring some money in return (or whatever, doesn’t have to be money). In any case, each event has a provider agent and a receiver agent. Those agents are the farm and the restaurant, not whatever people happen to be logging or approving those events.
- An investor engine wants to facilitate people (or groups) investing in holochain projects. If someone wants to invest in HoloREA, they don’t necessarily want to invest in any individual person. And when the investment arrives in HoloREA, the team might figure out together how to use it. And if money comes back from HoloREA to the investor, it should come from the group agent.
In addition, why should an agent relate only to one app or set of apps? Shouldn’t the farm in the first example be able to also use other kinds of holochain apps and still be known as the same agent? Perhaps it is a co-op farm and needs a decision-making app. For this reason, it hasn’t made much sense to us to develop Agents in HoloREA, seems too limiting.
So from our perspective, the requirements are:
- Cross-holochain persistent identity for each group agent.
- A way for the group to manage its relationships with other agents, like members, trading partners, etc.
- A way for the group to control permissions to its data, just like a person can.
- The ability to record a group or a person as an agent wherever agents are a relevant data element, in any app.
So, what do y’all think? Thanks!