Memory conflict resolver
When a new fact contradicts an active one, the user decides: keep both, merge, or delete the old. Old vs new is shown side by side with source and confidence.
Included in the single kansho full pack. Components are not offered as separate installs.
Old vs new
Last action: unresolvedAvery's local project still uses the legacy runtime.
Avery's local project now uses the current runtime.
Usage
Guidance- Show the existing and incoming facts side by side with their confidence and source.
- Let the operator choose keep-both, merge, or delete-old explicitly.
- Auto-resolve a conflict without surfacing it.
- Hide which fact is currently active.
- When to use
- When an incoming fact contradicts a stored one and a human must decide.
- When not to
- Non-conflicting memory updates — use the diff / rollback card.
Props
API reference| Prop | Type | Description |
|---|---|---|
| existingrequired | ConflictSide | The active fact: fact, confidence, source, timestamp. |
| incomingrequired | ConflictSide | The conflicting incoming fact. |
| onResolve | (resolution) => void | Fires with 'keep-both' | 'merge' | 'delete-old'. |
Component documentation
Memory Conflict Resolver
components/memory/memory-conflict-resolver.tsxPurpose
Compares an existing and incoming memory fact and offers a resolution.
Appropriate use
Use when a human must choose how two conflicting facts enter the memory store.
Example
components/memory/memory-conflict-resolver.tsx has a representative live example in the "Old vs new" section on /components/memory-conflict-resolver.
States
Resolutions are keep-both, merge, and delete-old; each side includes fact, confidence, source, and timestamp.
API and props
MemoryConflictResolver accepts existing, incoming, optional onResolve, and className; it exports ConflictSide and ConflictResolution.
Dependencies
Direct imports are React, Lucide icons, StatusPill, Tag, InlineConfirmButton, shared memory types, and cn.
Accessibility
Both facts, confidence values, sources, and action labels are textual; deleting the old fact uses inline confirmation.
Limitations
It is not a modal, does not calculate a merged value, persist a decision, or report asynchronous resolution errors.
Source
Source: components/memory/memory-conflict-resolver.tsx.
Full pack
components/memory/memory-conflict-resolver.tsx is documented at /components/memory-conflict-resolver and installs only through the single Kansho full pack; no individual component install is offered.