Archive meeting workflow and screenshot changes

This commit is contained in:
2026-05-27 12:55:19 +02:00
parent 2422236ef7
commit 12832dde84
48 changed files with 3041 additions and 43 deletions
@@ -0,0 +1,13 @@
# Change: Limit Outlook metadata attendee import
## Why
Large Outlook meetings often represent presentations or broadcasts. Importing every invited attendee into the meeting note makes speaker matching noisy because most invitees are unlikely to speak.
## What Changes
- Add a configurable maximum attendee count for meeting metadata imports.
- Keep applying meeting title, agenda, and scheduled end metadata when the attendee list is too large.
- Skip writing metadata attendees when the raw metadata attendee count is above the configured maximum.
## Impact
- Affects meeting-session metadata enrichment behavior.
- Reduces false speaker candidates for large presentation-style meetings.
@@ -0,0 +1,30 @@
## MODIFIED Requirements
### Requirement: Windows Outlook enrichment is optional
Meeting Assistant SHALL gate Outlook Classic COM enrichment behind the Windows compilation target.
When the Windows build starts a meeting and Outlook Classic has exactly one current Teams appointment, 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.
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 exposes exactly one current Teams appointment
- **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_end` into assistant-context frontmatter
#### 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 current 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_end` into assistant-context frontmatter
#### Scenario: Outlook is unavailable or ambiguous
- **WHEN** Outlook Classic is unavailable or more than one current Teams appointment is found
- **THEN** Meeting Assistant starts the recording with the default generated meeting title and empty agenda
- **AND** omits `scheduled_end` from assistant-context frontmatter
@@ -0,0 +1,9 @@
## 1. Behavior
- [x] 1.1 Add meeting-session requirement for capped metadata attendee import.
- [x] 1.2 Add behavior test proving oversized metadata attendee lists are skipped.
- [x] 1.3 Add configurable default maximum attendee count.
- [x] 1.4 Preserve title, agenda, and scheduled end enrichment when attendees are skipped.
## 2. Verification
- [x] 2.1 Run focused recording coordinator tests.
- [x] 2.2 Run `openspec validate limit-outlook-metadata-attendees --strict`.