Merge
Typeof: Workflow
Merges are the combining of two Objects of the same type into one. At the architectural level this involves the syncing of the chain histories of both Objects such that both histories are valid and available through the new (merged) chain.
At the Dreamcatcher level it can be considered as the combination of the data inside both Objects inside of a new (merged) Object.
The following description is at the Dreamcatcher level.
A Merge consists of a Target Object and a proposing Object (the Origin), and is conducted through a Pull Request. The Governance of the Target Project (if it’s a merge between two Projects), or the Governance of the Project in which the Target Object is embedded, determines whether the Merge is allowed to go ahead.
After the Merge the Origin may be killed - a Terminus Merge.
A Merge may go through a period of negotiation while at the Pull Request stage. This is necessary to deal with any potential conflicts in combining the data. E.g. in the case of merging Projects, it may not be the simple case of combining both sets of Governance and Attribution equally if the merge is not of equal value.