# Add Speaker Identity Learning ## Why Meeting Assistant currently receives diarized speaker labels from ASR backends, but those labels are backend-local names such as `Guest01` or `Speaker 0`. Users need transcripts to converge toward real attendee names without manually maintaining a roster. ## What Changes - Add a local SQLite-backed speaker identity store under the user's application data folder. - Store a small bounded set of WAV snippets per learned speaker identity. - Match unknown diarized speakers against known identities during and after transcription using a dedicated Azure Speech diarization verifier component separate from the configured ASR pipeline. - Confirm matches before applying them, then rewrite transcript speaker labels and use the known name for later segments. - Learn new identities automatically from unmatched diarized speakers using meeting attendees as candidate names. - Eliminate candidate names across future meetings until a canonical speaker name is known. ## Impact - Adds EF Core SQLite as a runtime dependency. - Adds speaker identity services and a dedicated Azure Speech identity matching component to the transcription flow. - Adds persisted local voice snippets; these are explicit identity artifacts, not temporary full recordings.