Reconciliation

Added · Seed

Seeded during the working-on-the-same-thing sequence sitting. Needs its classification sitting; the relation to the merge model beneath (locking, OT, CRDT) stays substrate, not pattern content.

Two lines of work were allowed to diverge — a branch, a draft, an offline stretch — and both changed the same thing. Merging silently would discard one intent without anyone deciding; refusing to merge stops the work. Reconciliation makes the collision a first-class object: both versions shown, comparable, with reintegration blocked until a person picks and the choice recorded.

The pattern is as much about placement as mechanism. Live co-editing surfaces never show conflicts — concurrent edits are absorbed silently, and the industry has spent a decade retiring even paragraph locks in favour of silent merge. The reconciliation surface belongs exactly where divergence was deliberate: the offline return, the branch merge, the pull request. There it blocks: the merge button deactivates, the branch review lists each collision side by side, and a person picks.

The documented failure is surfacing without support: a conflicted copy dropped beside the original, with no way to compare the versions — the collision preserved but the deciding made impossible.

Consequences

  • the collision is a first-class object: both versions visible and comparable, the choice recorded — never a conflicted copy dropped beside the original with no way to compare
  • the surface exists only at the return of deliberate divergence: a live ground merges concurrent edits silently, and a collision surfacing mid-flow says the boundary was drawn wrong, not that this surface is missing
  • what the mechanism can show separately is what a person can pick separately: reconciliation's grain is set by the parting's grain

Resources & references

Appears in

Related patterns

Complements

  • Draft and publish — the parting whose return reconciliation guards
  • Comparing — showing the colliding versions is comparing's version case put to work

Related to

  • Undo — the version not picked is a removal; undo is its recovery