Files
meeting-assistant/openspec/changes/archive/2026-06-26-azure-speech-offline-resilience/tasks.md
T
codex 7b2bcd3631
PR and Push Build/Test / build-and-test (push) Successful in 12m0s
Preserve recovery transcripts and add user-approved agent requests
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.
2026-09-25 11:58:34 +02:00

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.