# Feature Plan: Identity Resolution and Merge

## Goal
Improve person graph quality by suggesting and applying safe merges across transport identifiers.

## Why This Fits GIA
- Core value of universal inbox depends on clean `Person` identity graph.

## Scope
- Heuristic scoring for candidate merges.
- Manual review queue with approve/reject.
- Merge operation with audit trail and undo window.

## Implementation
1. Add scoring service using signals: normalized phone, username similarity, name overlap, shared chat co-occurrence.
2. Add `IdentityMergeSuggestion` model with score + reasons.
3. Add UI panel to review/approve merges.
4. Implement safe merge transaction (`PersonIdentifier` reassignment, metadata merge rules).
5. Emit audit events and rollback snapshots.

## Acceptance Criteria
- Suggestions generated deterministically and explain reasons.
- Merge is idempotent and reversible within configured window.
- No identifier is lost or orphaned.

## Out of Scope
- Fully automatic merge without human approval.
