Improve toast duration and speaker override samples
PR and Push Build/Test / build-and-test (push) Failing after 9m48s

This commit is contained in:
2026-06-05 10:52:08 +02:00
parent 351ed2eb50
commit 1a89382f02
13 changed files with 162 additions and 33 deletions
+3
View File
@@ -243,6 +243,8 @@ Meeting Assistant SHALL show a stop prompt when transcript inactivity reaches co
On Windows, the stop prompt SHALL use a native Windows app notification with affirmative and negative action buttons.
On Windows, the stop prompt notification SHALL request reminder-style toast behavior and remain actionable for 1 minute.
The stop prompt SHALL ask whether to stop the meeting and SHALL provide affirmative and negative actions.
Showing or ignoring the stop prompt SHALL NOT block later inactivity checks, reminder prompts, or automatic stop.
@@ -260,6 +262,7 @@ When a recording stops normally and its meeting note, transcript, and assistant
- **AND** no transcript text has arrived for the first configured inactivity prompt threshold
- **WHEN** the inactivity safeguard checks the active recording
- **THEN** Meeting Assistant prompts the user whether to stop the meeting with a native Windows app notification when running on Windows
- **AND** the notification remains actionable for 1 minute
- **AND** does not abort or discard meeting artifacts
#### Scenario: Ignored inactivity prompt does not block auto-stop
+4 -2
View File
@@ -99,7 +99,7 @@ The agenda SHALL be extracted from the appointment body content before the Teams
- **AND** omits `scheduled_end` from assistant-context frontmatter
### Requirement: Outlook Teams meetings can prompt recording start
Meeting Assistant SHALL provide a disabled-by-default setting that enables scheduled Outlook Classic calendar checks for recording-start prompts.
Meeting Assistant SHALL enable scheduled Outlook Classic calendar checks for recording-start prompts by default.
When scheduled recording prompts are enabled on Windows, Meeting Assistant SHALL periodically read the user's Outlook Classic calendar appointments for the current local day through COM into an in-memory cache.
@@ -111,6 +111,8 @@ Meeting Assistant SHALL consider Teams appointments from Outlook calendar data a
When a Teams appointment reaches its scheduled start window, Meeting Assistant SHALL show a native Windows app notification asking whether to record the meeting, with affirmative and negative actions.
On Windows, the recording-start notification SHALL request reminder-style toast behavior and remain actionable for 5 minutes.
Meeting Assistant SHALL prompt at most once per calendar appointment during a local day, regardless of whether the user accepts, declines, or ignores the notification.
If the user accepts the recording prompt while no recording is active, Meeting Assistant SHALL start a new recording normally.
@@ -124,6 +126,7 @@ When stopping an active recording for an accepted prompt, Meeting Assistant SHAL
- **AND** Meeting Assistant has synced Outlook Classic Teams appointments for today
- **WHEN** the appointment reaches its scheduled start window
- **THEN** Meeting Assistant shows a native Windows app notification asking whether to record the meeting
- **AND** the notification remains actionable for 5 minutes
- **AND** marks that appointment as prompted for the day
#### Scenario: Back-to-back cached Teams meetings prompt without another Outlook sync
@@ -351,4 +354,3 @@ Meeting Assistant SHALL provide a diagnostic endpoint that opens the workflow ru
- **GIVEN** the rules editor chat window content fits without scrolling or is already near the bottom
- **WHEN** a new user or assistant message is appended
- **THEN** the conversation scrolls to the bottom of the newly rendered message content
@@ -484,6 +484,8 @@ Meeting Assistant SHALL support an optional configurable pyannote secondary vali
When pyannote secondary validation is enabled, Meeting Assistant SHALL verify candidate speaker samples before retaining them for identity matching. Samples that pyannote reports as containing multiple speakers SHALL be rejected.
When pyannote secondary validation is enabled, Meeting Assistant SHALL verify speaker-override samples before retaining them on speaker identities. Speaker overrides whose source samples are rejected SHALL NOT create a new speaker identity from that rejected sample.
When pyannote secondary validation is enabled and the primary identity matcher confirms a speaker, Meeting Assistant SHALL run a second validation pass through pyannote before accepting the match.
If pyannote secondary validation cannot confirm that the unknown live sample and matched identity samples belong to one speaker, Meeting Assistant SHALL reject the match.
@@ -497,6 +499,12 @@ When pyannote secondary validation is enabled, Meeting Assistant SHALL start a n
- **WHEN** pyannote reports multiple speakers in a candidate sample
- **THEN** Meeting Assistant does not retain that sample for identity matching
#### Scenario: Multi-speaker speaker-override sample is rejected
- **GIVEN** pyannote secondary validation is enabled
- **WHEN** a summary speaker override resolves a source sample that pyannote reports as containing multiple speakers
- **THEN** Meeting Assistant does not retain that sample on a speaker identity
- **AND** does not create a new speaker identity from that rejected sample
#### Scenario: Pyannote rejects primary match
- **GIVEN** pyannote secondary validation is enabled
- **AND** the primary identity matcher confirms `Guest03` as `Chris`