13 KiB
MODIFIED Requirements
Requirement: Windows Outlook enrichment is optional
Meeting Assistant SHALL gate Outlook Classic COM enrichment behind the Windows compilation target.
For standalone metadata lookup, Meeting Assistant SHALL first consider Teams appointments that are in progress with at least five minutes remaining. If exactly one such appointment exists, Meeting Assistant SHALL select it even when another appointment starts within five minutes.
If no suitable in-progress appointment exists, Meeting Assistant SHALL consider Teams appointments that start within five minutes after recording starts and SHALL select one only when exactly one such upcoming appointment exists.
When the Windows build starts a meeting and Outlook Classic yields one appointment through that selection order, Meeting Assistant SHALL copy the appointment title to the meeting note and copy the appointment agenda and scheduled end time to the assistant-context frontmatter.
When more than one appointment exists in the applicable in-progress or upcoming selection group, Meeting Assistant SHALL leave standalone metadata unselected.
Meeting Assistant SHALL exclude canceled Outlook appointments from current Teams appointment metadata lookup.
Meeting Assistant SHALL copy the appointment attendees to the meeting note only when the raw appointment attendee count is less than or equal to the configured Recording:MaxMetadataAttendeeImportCount. The default maximum SHALL be 30 attendees.
The agenda SHALL be extracted from the appointment body content before the Teams join separator or Teams join text.
Scenario: Current Teams appointment enriches meeting artifacts
- WHEN a Windows build starts a meeting while Outlook Classic selects exactly one Teams appointment through the standalone selection order
- THEN Meeting Assistant uses the appointment subject as the meeting title
- AND writes the appointment attendees into meeting note frontmatter when the raw attendee count is within the configured import limit
- AND writes the appointment agenda into assistant-context frontmatter
- AND writes the appointment end time as
scheduled_endinto assistant-context frontmatter
Scenario: Meeting starting within five minutes enriches an early recording
- GIVEN no suitable Teams appointment is already in progress
- AND exactly one Teams appointment starts one minute after the recording start time
- WHEN a Windows build starts the meeting recording
- THEN Meeting Assistant selects that upcoming appointment's metadata
Scenario: In-progress meeting takes priority over an upcoming meeting
- GIVEN exactly one Teams appointment is in progress with at least five minutes remaining
- AND another Teams appointment starts within five minutes after the recording start time
- WHEN a Windows build starts the meeting recording
- THEN Meeting Assistant selects the in-progress appointment's metadata
Scenario: Canceled appointment is ignored during metadata lookup
- GIVEN Outlook Classic exposes one canceled suitable Teams appointment
- AND Outlook Classic exposes one active suitable Teams appointment at the same time
- WHEN a Windows build starts a meeting
- THEN Meeting Assistant selects the active appointment metadata
Scenario: Oversized attendee list is not imported
- GIVEN the configured metadata attendee import limit is 30
- WHEN a Windows build starts a meeting while Outlook Classic exposes exactly one suitable Teams appointment with 31 attendees
- THEN Meeting Assistant uses the appointment subject as the meeting title
- AND does not write the appointment attendees into meeting note frontmatter
- AND writes the appointment agenda into assistant-context frontmatter
- AND writes the appointment end time as
scheduled_endinto assistant-context frontmatter
Scenario: Outlook is unavailable or metadata lookup is ambiguous
- WHEN Outlook Classic is unavailable or more than one Teams appointment exists in the applicable in-progress or upcoming selection group
- THEN Meeting Assistant starts the recording with the default generated meeting title and empty agenda
- AND omits
scheduled_endfrom assistant-context frontmatter
Requirement: Outlook Teams meetings can prompt recording start
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.
Meeting Assistant SHALL default the Outlook calendar sync interval to 30 minutes when scheduled recording prompts are enabled.
Meeting Assistant SHALL schedule recording-start prompts from the cached calendar appointments rather than querying Outlook for each prompt.
Meeting Assistant SHALL consider Teams appointments from Outlook calendar data as initial prompt candidates. The detection MAY be extended later for other meeting providers.
Meeting Assistant SHALL exclude canceled Outlook appointments from recording-start prompt candidates.
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.
When a recording is active and the cached appointment has metadata, the recording-start notification SHALL additionally offer an Add metadata to current meeting action after the affirmative and negative actions. The native Windows notification renderer MAY choose the physical button layout.
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, ignores, or attaches metadata from the notification.
If the user accepts the recording prompt while no recording is active, Meeting Assistant SHALL start a new recording normally.
If the user accepts the recording prompt while another recording is active, Meeting Assistant SHALL stop the active recording normally and then start the prompted meeting recording.
When stopping an active recording for an accepted prompt, Meeting Assistant SHALL use the normal stop path so empty or too-short recordings are removed according to existing settings and other completed recordings continue normal transcription, speaker recognition, and summary processing.
When the user accepts a recording prompt, Meeting Assistant SHALL start the recording with the accepted cached appointment's metadata and SHALL NOT perform a separate current-meeting metadata lookup for that prompted start.
Prompted-start metadata SHALL include the accepted appointment title, attendees, agenda, and scheduled end when those values are available from the cached appointment.
Prompted starts SHALL run the normal meeting workflow created rules before applying the accepted appointment metadata.
After created rules run, prompted starts SHALL apply the accepted appointment metadata and then run the normal collecting metadata to transcribing state-transition workflow rules with that metadata available in the meeting note.
If the user chooses Add metadata to current meeting while that recording is still active, Meeting Assistant SHALL apply the exact cached appointment's title, eligible attendees, agenda, and scheduled end to the active meeting without stopping or starting recording.
Attaching prompted metadata SHALL use the normal attendee canonicalization, attendee import limit, and attendee_added workflow transformations, SHALL preserve the meeting note body, and SHALL refresh meeting metadata in the meeting note, assistant context, and transcript artifacts.
Explicitly attached prompted metadata SHALL take precedence over any standalone Outlook metadata lookup still running for that recording.
If no recording is active when the attach action is handled, Meeting Assistant SHALL leave meeting artifacts and recording state unchanged.
Scenario: Teams meeting start prompts the user
- GIVEN scheduled Outlook recording prompts are enabled
- 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: Active recording prompt offers metadata attachment
- GIVEN scheduled Outlook recording prompts are enabled
- AND a meeting recording is active
- AND the due cached appointment has metadata
- WHEN Meeting Assistant shows the appointment's recording-start notification
- THEN the notification includes
Yes,No, andAdd metadata to current meetingactions - AND orders the metadata action after
YesandNo
Scenario: Idle prompt omits metadata attachment
- GIVEN scheduled Outlook recording prompts are enabled
- AND no meeting recording is active
- WHEN Meeting Assistant shows an appointment's recording-start notification
- THEN the notification includes the existing affirmative and negative actions
- AND does not include
Add metadata to current meeting
Scenario: Canceled Teams meeting does not prompt recording
- GIVEN scheduled Outlook recording prompts are enabled
- AND Meeting Assistant has synced a canceled Outlook Classic Teams appointment for today
- WHEN the canceled appointment reaches its scheduled start window
- THEN Meeting Assistant does not show a recording prompt for that appointment
Scenario: Back-to-back cached Teams meetings prompt without another Outlook sync
- GIVEN scheduled Outlook recording prompts are enabled
- AND Meeting Assistant has synced two Teams appointments for today that start ten minutes apart
- WHEN each appointment reaches its scheduled start window
- THEN Meeting Assistant shows a recording prompt for each appointment
- AND does not require another Outlook calendar sync between the prompts
Scenario: User accepts prompt while idle
- GIVEN scheduled Outlook recording prompts are enabled
- AND no meeting recording is active
- WHEN the user accepts a Teams meeting recording prompt
- THEN Meeting Assistant starts recording normally
Scenario: User accepts prompt while already recording
- GIVEN scheduled Outlook recording prompts are enabled
- AND a meeting recording is active
- WHEN the user accepts a Teams meeting recording prompt
- THEN Meeting Assistant stops the active recording normally
- AND starts a new recording normally after the stop request
Scenario: Accepted prompt supplies meeting metadata
- GIVEN scheduled Outlook recording prompts are enabled
- AND Meeting Assistant has cached two current Teams appointments with different metadata
- WHEN the user accepts the recording prompt for one appointment
- THEN Meeting Assistant starts the recording with the accepted appointment's metadata
- AND does not perform a standalone current-meeting metadata lookup for that recording
- AND runs
createdworkflow rules before writing the cached appointment metadata - AND runs
collecting metadatatotranscribingworkflow rules after writing the cached appointment metadata
Scenario: Prompted metadata is attached to the active meeting
- GIVEN a meeting recording is active without calendar metadata
- AND two concurrent appointment notifications carry different cached metadata
- WHEN the user chooses
Add metadata to current meetingon one notification - THEN Meeting Assistant applies only that notification's appointment metadata to the active meeting
- AND keeps the current recording and transcription running
- AND does not start a new recording
Scenario: Explicit attachment wins over delayed lookup
- GIVEN standalone Outlook metadata lookup is still running for an active recording
- WHEN the user attaches metadata from an appointment notification
- AND the standalone lookup completes later with different metadata
- THEN the prompted appointment metadata remains on the active meeting artifacts
Scenario: Attach action becomes stale
- GIVEN a recording-start notification offered
Add metadata to current meeting - AND the active recording stops before the action is handled
- WHEN the user activates the metadata action
- THEN Meeting Assistant does not change completed meeting artifacts
- AND does not start a recording
Scenario: Prompt is disabled
- GIVEN scheduled Outlook recording prompts are disabled
- WHEN a Teams appointment reaches its scheduled start
- THEN Meeting Assistant does not query Outlook for recording prompt candidates
- AND does not show a recording prompt