Public Access
2.9 KiB
2.9 KiB
1. Specification
- 1.1 Define requirements for local speaker identity storage and candidate elimination.
- 1.2 Define requirements for live periodic matching and transcript relabeling.
2. Implementation
- 2.1 Add SQLite speaker identity database in app data.
- 2.2 Add speaker snippet extraction and matching orchestration.
- 2.3 Learn unmatched speaker identities from meeting attendees at transcript completion.
- 2.4 Eliminate candidate names on future matches and promote a canonical name.
- 2.5 Relabel finished transcript segments when canonical identity matches are found.
- 2.6 Add live periodic matching after an initial delay and apply matches to future transcript writes.
- 2.7 Keep timestamped in-memory audio samples for live diarized speaker matching and reserve recording-file extraction for final-only diarization.
- 2.8 Add speaker aliases and a diagnostic duplicate-identity merge process.
- 2.9 Use aliases during candidate elimination and unmatched-candidate filtering.
- 2.10 Keep live speaker matching read-only so final identity decisions use the latest meeting note frontmatter.
- 2.11 Rewrite already-written live transcript segments when a live speaker match is found.
- 2.12 Prioritize attendee-matched speaker identities, filter stale non-attendees, and cap match candidates.
- 2.13 Run live speaker identification incrementally when new unmapped speakers appear or attendees change.
- 2.14 Maintain speaker identity last-modified timestamps for active-age filtering.
- 2.15 Add identified speaker display names to meeting note attendees without duplicating display names or aliases.
- 2.16 Canonicalize calendar attendee names through identity canonical names and aliases before writing meeting notes.
3. Validation
- 3.1 Add tests for candidate creation, elimination, canonical promotion, and reset on empty candidate intersection.
- 3.2 Add tests for recording coordinator transcript relabel integration.
- 3.3 Add tests for in-memory speaker samples and rolling audio buffer extraction.
- 3.4 Add tests for duplicate speaker identity merging and the diagnostic endpoint.
- 3.5 Add tests for alias-aware candidate elimination.
- 3.6 Add tests that live matching does not mutate speaker identities.
- 3.7 Add tests that live speaker matches relabel current and future transcript segments.
- 3.8 Add tests for speaker identity candidate ordering, active-age filtering, and candidate caps.
- 3.9 Add tests for incremental live speaker identification triggers.
- 3.10 Add tests for speaker identity last-modified timestamp creation, updates, and schema upgrade.
- 3.11 Add tests for adding matched speaker identities to meeting attendees and alias duplicate suppression.
- 3.12 Add tests for calendar attendee canonicalization and alias duplicate suppression.
- 3.13 Run
dotnet test.