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