Skip to main content

Module conflicts

Module conflicts 

Source
Expand description

Merge-conflict resolution for folder mems (backlog-sweep plan 07, decision 20).

A hand-committed folder mem lives inside the user’s own git repository, so an ordinary merge can write conflict markers into entity files. At that moment every other door is locked by design: the loader refuses the file (naming this operation as the remedy), and the guards correctly block git verbs and raw edits against mem content. This module is the one sanctioned door — the agent judges each conflict on its content and the engine is the pair of hands: the chosen side is validated as an entity BEFORE it lands (a broken ours side never launders into the mem), and the resolution commits as an attributed, note-carrying mutation like any other write.

Scope is deliberately narrow: per-entity, two sides (ours/theirs), folder backend only. A merged-content resolution is out of scope by design — an agent wanting a merge resolves to one side as the base and then edits through the normal mutation surface, which preserves validation and provenance; the operation’s note is the designated place to record “base for a manual merge; discarded side: ”. The git-branch backend’s mem-repo is engine-managed and cannot acquire merge conflicts through supported use, so it refuses typed rather than pretending applicability.

Structs§

ConflictedEntity
One conflicted entity file found in a folder mem.
ResolveConflictOutcome
Outcome of a successful Engine::resolve_merge_conflict.

Enums§

ConflictSide
Which side of a git merge conflict to keep.

Functions§

extract_conflict_side
Extract one side of a git merge conflict from raw file content.