Research into formalizing merge conflict resolution for Flexo MMS, a graph-native version control system for structured data from OpenMBEE.
Flexo MMS stores models as RDF graphs and versions them through SPARQL Update patches. It supports branching and diffing but does not yet implement merge conflict resolution. This repository develops a formal problem statement for conflict resolution, framing it as a constrained optimization problem with Lagrange duality — defining a family of resolution policies parameterized by organizational context, constraint priorities, and the boundary between automated verification and human judgment.
This repository is an Obsidian vault. To read the content with full wikilink navigation:
- Clone the repository:
git clone https://github.com/mzargham/flexo-conflict-resolution-policy-research.git
- Open Obsidian and select Open folder as vault
- Navigate to the cloned directory
- When prompted, enable community plugins — the vault includes the Diagram Popup plugin, which lets you click any Mermaid diagram to open it in a draggable, zoomable popup
| If you want to… | Start here |
|---|---|
| Get an overview of Flexo and navigate the vault | Flexo MMS |
| Understand why model merge differs from text VCS | Key Insight |
| Understand the conflict resolution approach without the math | Flexo Conflict Resolution Mapping |
| Read the full mathematical formalism | Conflict Resolution Problem Statement |
| Understand Flexo's architecture and data model | RDF → Quadstore → SPARQL |
| Understand the governance and policy framework | Verification and Validation → Policy |
| See what models are, what merge looks like today and what's missing | Model → Merge |
| See the lifecycle in action with sequence diagrams | A Policy-based Approach to Model Lifecycle Management with Flexo |
- OpenMBEE — open model-based engineering environment
- Flexo MMS — core Layer 1 service
- Flexo MMS deployment guide
- openmbee.org/flexo