Public Access
Make meeting lifecycle stateful
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
## Why
|
||||
Meeting Assistant currently has one global configuration, one hotkey, and one implicit ASR/runtime setup. In practice, the user needs to start meetings with different speech-recognition settings, such as German-only versus English-only recognition, without editing configuration and restarting between meetings.
|
||||
|
||||
## What Changes
|
||||
- Add named launch profiles to configuration.
|
||||
- Treat the root `MeetingAssistant` configuration as the `default` launch profile.
|
||||
- Resolve non-default launch profiles by copying the default settings and binding the named profile override onto that copy.
|
||||
- Add profile-aware endpoint routes while preserving the existing default-profile URLs.
|
||||
- Register one global hotkey per launch profile, requiring distinct hotkey definitions.
|
||||
- Add an `english` launch profile that keeps the current default settings except for English Azure Speech recognition and its own hotkey.
|
||||
|
||||
## Impact
|
||||
- Existing URLs and the existing hotkey continue to operate the default profile.
|
||||
- Named profiles are addressed through profile URLs, allowing diagnostics and recording commands to select the desired backend/language profile.
|
||||
- Speech pipeline creation becomes profile-aware.
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Recording can be launched through named profiles
|
||||
Meeting Assistant SHALL treat the root `MeetingAssistant` configuration as a launch profile named `default`.
|
||||
|
||||
Meeting Assistant SHALL allow additional named launch profiles to be configured as overrides of the default profile. A named profile SHALL be resolved by binding the default profile first, then binding the named profile override onto the same option object.
|
||||
|
||||
Meeting Assistant SHALL preserve existing recording endpoint URLs as default-profile URLs and SHALL provide equivalent named-profile URLs that include the profile name.
|
||||
|
||||
Each launch profile SHALL have a distinct global hotkey. Pressing a profile hotkey SHALL toggle recording using that profile's resolved configuration.
|
||||
|
||||
Meeting Assistant SHALL use the selected launch profile's vault and recording storage settings when it creates meeting notes, transcripts, assistant context notes, summary notes, temporary recordings, and dictation-word inputs for that meeting.
|
||||
|
||||
Meeting Assistant SHALL use the selected launch profile's summary-agent settings when it runs the summary pipeline for that meeting.
|
||||
|
||||
#### Scenario: Default profile keeps existing recording URL
|
||||
- **WHEN** the user calls the existing recording start URL without a profile name
|
||||
- **THEN** Meeting Assistant starts recording with the `default` launch profile
|
||||
|
||||
#### Scenario: Named profile starts recording
|
||||
- **WHEN** the user calls the named-profile recording start URL for profile `english`
|
||||
- **THEN** Meeting Assistant starts recording using the resolved `english` launch profile configuration
|
||||
|
||||
#### Scenario: Named profile stores meeting artifacts in profile folders
|
||||
- **GIVEN** launch profile `english` overrides vault folders and summary-agent settings
|
||||
- **WHEN** the user starts and stops a recording with launch profile `english`
|
||||
- **THEN** Meeting Assistant creates the meeting note, transcript, assistant context note, and summary note using the resolved `english` vault folders
|
||||
- **AND** Meeting Assistant runs the summary pipeline using the resolved `english` summary-agent settings
|
||||
|
||||
#### Scenario: Profile hotkeys must be distinct
|
||||
- **GIVEN** two launch profiles configure the same toggle hotkey
|
||||
- **WHEN** Meeting Assistant resolves launch profiles
|
||||
- **THEN** Meeting Assistant rejects the configuration before registering global hotkeys
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Speech recognition diagnostics are launch-profile aware
|
||||
Meeting Assistant SHALL preserve existing ASR diagnostic endpoint URLs as default-profile URLs.
|
||||
|
||||
Meeting Assistant SHALL provide equivalent named-profile ASR diagnostic endpoint URLs that include the profile name.
|
||||
|
||||
When a named-profile ASR diagnostic endpoint is used, Meeting Assistant SHALL create the speech recognition pipeline from the resolved profile configuration.
|
||||
|
||||
#### Scenario: Default ASR diagnostic URL uses default profile
|
||||
- **WHEN** the user submits a WAV file to the existing ASR diagnostic endpoint URL
|
||||
- **THEN** Meeting Assistant streams the WAV through the default launch profile's configured speech recognition pipeline
|
||||
|
||||
#### Scenario: Named ASR diagnostic URL uses named profile
|
||||
- **WHEN** the user submits a WAV file to the ASR diagnostic endpoint URL for profile `english`
|
||||
- **THEN** Meeting Assistant streams the WAV through the resolved `english` launch profile's configured speech recognition pipeline
|
||||
@@ -0,0 +1,18 @@
|
||||
## 1. Specification
|
||||
- [x] 1.1 Define launch profile requirements for recording control and endpoint routing.
|
||||
- [x] 1.2 Define launch profile requirements for profile-aware ASR pipeline selection.
|
||||
|
||||
## 2. Implementation
|
||||
- [x] 2.1 Add launch profile option resolution with default-plus-override merge behavior.
|
||||
- [x] 2.2 Preserve existing default endpoint URLs and add named profile URL variants.
|
||||
- [x] 2.3 Pass selected launch profiles into recording and ASR diagnostics pipeline creation.
|
||||
- [x] 2.4 Register distinct hotkeys for all launch profiles.
|
||||
- [x] 2.5 Add an `english` launch profile override to appsettings.
|
||||
- [x] 2.6 Use the selected launch profile for meeting artifact storage paths, dictation words, and summary-agent settings.
|
||||
|
||||
## 3. Validation
|
||||
- [x] 3.1 Add tests for default and named launch profile option resolution.
|
||||
- [x] 3.2 Add tests for profile-aware diagnostic endpoint routing.
|
||||
- [x] 3.3 Add tests for distinct profile hotkey planning.
|
||||
- [x] 3.4 Add tests for profile-scoped meeting artifact paths and summary-agent settings.
|
||||
- [x] 3.5 Run focused tests.
|
||||
Reference in New Issue
Block a user