Append successful offline recovery with a duplicate-warning marker and retain failed replay sources. Offer newly available microphones through confirmation notifications. Add project discovery metadata and blocking association approval, plus nonblocking workflow requests that start a separate settings-agent conversation. Include regression tests, OpenSpec changes, and verified local Release startup.
2.8 KiB
Tasks
- Inspect Azure Speech live input path and confirm whether it uses separate recording/MSAL.
- Add OpenSpec requirements for Azure reconnect/disconnect transcript markers and buffered audio.
- Add transcript marker replacement tests through the recording coordinator.
- Add Azure reconnect marker emission and SDK-session restart behavior.
- Reset live speaker assumptions after Azure reconnect markers.
- Document Azure resilience behavior.
- Run focused tests, full solution tests, and
openspec validate azure-speech-offline-resilience --strict. - Add a durable offline backlog for stopped Azure meetings across process restarts.
- Replay queued WAV files through a fresh speech pipeline and finish transcript metadata, meeting context state, summary generation, and backlog cleanup.
Bug-fix addendum: Preserve transcripts during offline replay
-
Specify that replay without speech text preserves the transcript, backlog, and WAV until a successful retry.
-
Reproduce the data-loss bug with real transcript and backlog files, then reject empty, blank-text, and marker-only replay results before any artifact writes.
-
Verify retained files survive repeated retries and a later successful replay still completes and cleans up normally.
-
Run focused regression tests, full solution tests, and strict OpenSpec validation.
-
Preserve existing transcript content on successful replay and append a recovery marker explaining possible duplicates before the recovered text.
-
Verify the summary agent receives earlier text, the recovery explanation, and appended text together, then rerun the relevant tests and strict validation.
Verification: the regression cases exercise the backlog processor with real WAV, transcript, meeting-note, and durable JSON files. Each case checks byte-for-byte preservation through two unsuccessful attempts and reloads the backlog from disk. A later usable replay preserves the original body, including a user correction without a trailing newline, and appends the marker and recovered text. A transcript-reading summary stub verifies that both versions, including an intentional duplicate passage, are available with the explanation before backlog/WAV cleanup. All 525 solution tests and strict validation of this change and the accepted transcription spec pass; independent review found no actionable issues. The Azure response is deterministic test input; no live Azure outage was induced and the running workstation service was not restarted.
Authorized local start (2026-09-25): the Release build containing this fix was subsequently published and started after confirming the workstation instance was idle. Health and startup logs are successful; the full solution now has 552 passing tests. No live Azure outage was induced.