Files
meeting-assistant/openspec/changes/add-transcription-pause-controls/tasks.md
T
codex 70ffaa7357
PR and Push Build/Test / build-and-test (push) Successful in 13m19s
feat: add transcription pause controls
2026-09-02 12:22:11 +02:00

39 lines
3.3 KiB
Markdown

## 1. Inactivity notification lifecycle
- [x] 1.1 Add a failing coordinator behavior test proving that a newly written non-empty transcript segment dismisses every outstanding inactivity prompt.
- [x] 1.2 Extend the inactivity prompt service contract and Windows implementation to invalidate callbacks and remove the complete inactivity notification group.
## 2. Pause and unpause behavior
- [x] 2.1 Add a failing coordinator behavior test proving that pause keeps the run active, routes equal-duration silence instead of captured audio, and unpause resumes real audio through the same pipeline.
- [x] 2.2 Implement thread-safe pause state, coordinator pause/unpause controls, status reporting, and silence substitution without resetting speaker state or the active pipeline.
- [x] 2.3 Add a failing behavior test proving that inactivity prompts and auto-stop are suspended while paused and restart from the unpause time.
- [x] 2.4 Implement pause-aware inactivity timing and guard prompt callbacks so stale notifications cannot control another run.
## 3. User controls
- [x] 3.1 Add a failing tray-menu behavior test for `Pause transcription` / `Unpause transcription` while `Finish meeting` remains available.
- [x] 3.2 Add the tray pause toggle action in the fine-grained controls section and wire it to the coordinator.
- [x] 3.3 Add a failing inactivity-prompt behavior test proving the pause response pauses the originating active meeting.
- [x] 3.4 Add the `Pause transcription` Windows notification action and route its response through the guarded coordinator pause path.
## 4. Documentation and verification
- [x] 4.1 Update the operational documentation with pause behavior, Azure session continuity, silence substitution, and the tray/notification controls.
- [x] 4.2 Refactor the touched paths for DRYness, SOLID boundaries, and simplicity while preserving behavior, including pause/inactivity race handling found during independent review.
- [x] 4.3 Run focused recording/taskbar tests, the Windows application build, the full solution tests, and `openspec validate add-transcription-pause-controls --strict`.
- [x] 4.4 Inspect the local health and recording-status surfaces without restarting or interrupting an active meeting run.
## 5. Maximum continuous pause
- [x] 5.1 Add a failing coordinator behavior test proving that ordinary inactivity prompts remain suppressed while paused and the meeting stops normally after four continuous paused hours.
- [x] 5.2 Track the continuous pause start and implement the configurable four-hour paused-session safety stop without allowing an unpause race to stop the meeting.
- [x] 5.3 Update configuration documentation and rerun focused tests, the Windows build, the full suite, and strict OpenSpec validation.
## 6. Review follow-up
- [x] 6.1 Keep the maximum continuous-pause cutoff active when ordinary inactivity handling is disabled, with a failing public behavior test.
- [x] 6.2 Scope notification dismissal to the active run and move activity invalidation after durable transcript append, with overlapping-run and blocked-write regression tests.
- [x] 6.3 Make pause-notification activity validation atomic and make tray pause/unpause actions intent-specific, with race and stale-menu tests.
- [x] 6.4 Complete an independent simplification review and rerun all required validation before commit.