chore: Archive all pending OpenSpec proposals
Force archive the following proposals: - add-audio-device-selector (complete) - add-embedded-backend-packaging (19/26 tasks) - add-flexible-deployment-options (20/21 tasks) New specs created: - audio-device-management (7 requirements) - embedded-backend (8 requirements) Updated specs: - transcription (+2 requirements for model download progress) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -175,3 +175,42 @@ The system SHALL support both real-time local transcription and file-based cloud
|
||||
- **WHEN** transcription completes from either source
|
||||
- **THEN** result SHALL be displayed in the same transcript area in meeting detail page
|
||||
|
||||
### Requirement: Model Download Progress Display
|
||||
The sidecar SHALL report Whisper model download progress to enable UI feedback.
|
||||
|
||||
#### Scenario: Emit download start
|
||||
- **WHEN** Whisper model download begins
|
||||
- **THEN** sidecar SHALL emit JSON to stdout: `{"status": "downloading_model", "model": "<size>", "progress": 0, "total_mb": <size>}`
|
||||
|
||||
#### Scenario: Emit download progress
|
||||
- **WHEN** download progress updates
|
||||
- **THEN** sidecar SHALL emit JSON: `{"status": "downloading_model", "progress": <percent>, "downloaded_mb": <current>, "total_mb": <total>}`
|
||||
- **AND** progress updates SHALL occur at least every 5% or every 5 seconds
|
||||
|
||||
#### Scenario: Emit download complete
|
||||
- **WHEN** model download completes
|
||||
- **THEN** sidecar SHALL emit JSON: `{"status": "model_downloaded", "model": "<size>"}`
|
||||
- **AND** proceed to model loading
|
||||
|
||||
#### Scenario: Skip download for cached model
|
||||
- **WHEN** model already exists in huggingface cache
|
||||
- **THEN** sidecar SHALL NOT emit download progress messages
|
||||
- **AND** proceed directly to loading
|
||||
|
||||
### Requirement: Frontend Model Download Progress Display
|
||||
The Electron frontend SHALL display model download progress to users.
|
||||
|
||||
#### Scenario: Show download progress in transcript panel
|
||||
- **WHEN** sidecar emits download progress
|
||||
- **THEN** whisper status element SHALL display download percentage and size
|
||||
- **AND** format: "Downloading: XX% (YYY MB / ZZZ MB)"
|
||||
|
||||
#### Scenario: Show download complete
|
||||
- **WHEN** sidecar emits model_downloaded status
|
||||
- **THEN** whisper status element SHALL briefly show "Model downloaded"
|
||||
- **AND** transition to loading state
|
||||
|
||||
#### Scenario: Forward progress events via IPC
|
||||
- **WHEN** main process receives download progress from sidecar
|
||||
- **THEN** it SHALL forward to renderer via `model-download-progress` IPC channel
|
||||
|
||||
|
||||
Reference in New Issue
Block a user