# Tasks - [x] Inspect Azure Speech live input path and confirm whether it uses separate recording/MSAL. - [x] Add OpenSpec requirements for Azure reconnect/disconnect transcript markers and buffered audio. - [x] Add transcript marker replacement tests through the recording coordinator. - [x] Add Azure reconnect marker emission and SDK-session restart behavior. - [x] Reset live speaker assumptions after Azure reconnect markers. - [x] Document Azure resilience behavior. - [x] Run focused tests, full solution tests, and `openspec validate azure-speech-offline-resilience --strict`. - [x] Add a durable offline backlog for stopped Azure meetings across process restarts. - [x] 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 - [x] Specify that replay without speech text preserves the transcript, backlog, and WAV until a successful retry. - [x] 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. - [x] Verify retained files survive repeated retries and a later successful replay still completes and cleans up normally. - [x] Run focused regression tests, full solution tests, and strict OpenSpec validation. - [x] Preserve existing transcript content on successful replay and append a recovery marker explaining possible duplicates before the recovered text. - [x] 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.