When a Commit is being made to a store (when data is changed), this store will need to know if this Commit has to be stored locally, or if it has to be sent to some external server.
I think the primary concern should be getting the names of these concepts really clear. Some of the terms I'm currently using or considering:
- Base URL
- Server
- Pod
- Companion server
- Target store
Maybe this can be resolved by simply adding a self_url property for servers.
Perhaps related: it might be a good idea to refactor store.set_default_agent, Agent and Config. Config overlaps heavily with Agent.